微调以列表视图 [英] Spinner with list view
问题描述
我想问一下,
我与微调工作。
我有一个列表视图和一个微调。
在我的飞旋我宣布月,六一,七一,八一,九月,十月,月,DEC
在列表视图中,最初,它是空的。
当我点击八一,它会显示在列表视图八月(august.java)的数据,
可我知道,有没有办法做到这一点?
由于现在,我通过做类..
意思是,当我的onclick月,这将打开新的意图。
但我想它合并为一类,所以,当我点击八一,它会在列表视图改变,而不是开辟新的意图。
有没有办法做到这一点?
这是我的code
的String []月= {
六月,
七月,
八月,
Septemeber
十一月,
十二月,
我date.java的一部分
// SpinnerView
S1 =(微调)findViewById(R.id.spinner1); ArrayAdapter<串GT;适配器=新ArrayAdapter<串GT;(这一点,android.R.layout.simple_spinner_item,月);
s1.setAdapter(适配器);
s1.setOnItemSelectedListener(新OnItemSelectedListener()
{
公共无效onItemSelected(适配器视图<>为arg0,ARG1观,诠释ARG2,长ARG3){
INT指数= s1.getSelectedItemPosition();
//Toast.makeText(getBaseContext(),你已经入围项目:+月[指数],Toast.LENGTH_SHORT).show();
}
公共无效onNothingSelected(适配器视图<>为arg0){}
});
如果(s1.equals(八一)){ startActivity(新意图(date.this,MainActivity.class));
}
其他{
startActivity(新意图(date.this,八月
。类)); }
数据code是我得到。
august.java
公共类扩展八月{ListActivity 字符串的URL = \"http://api.eventful.com/rest/events/search?app_key=42t54cX7RbrDFczc&location=singapore&page_size=20&date=august\"; // XML节点键
静态最后弦乐KEY_EVENT =事件; //父节点
静态最后弦乐KEY_TITLE =称号;
静态最后弦乐KEY_URL =URL;
静态最后弦乐KEY_DESC =说明;
静态最后弦乐KEY_START_TIME =START_TIME;
静态最后弦乐KEY_STOP_TIME =STOP_TIME;
静态最后弦乐KEY_TIME =combine_time;
静态最后弦乐KEY_VENUE_NAME =venue_name;
静态最后弦乐KEY_COUNTRY_NAME =COUNTRY_NAME;
静态最后弦乐KEY_VENUE_ADDRESS =venue_address;
静态最后弦乐KEY_VENUE =场地;
静态最后弦乐KEY_LATITUDE =纬度;
静态最后弦乐KEY_LONGITUDE =经度; @覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.date); 最终的ArrayList<&HashMap的LT;字符串,字符串>>菜单项=新的ArrayList<&HashMap的LT;字符串,字符串>>(); XMLParser的解析器=新XMLParser的();
字符串XML = parser.getXmlFromUrl(URL); //获取XML
文档的文档= parser.getDomElement(XML); //获得DOM元素 节点列表NL = doc.getElementsByTagName(KEY_EVENT);
项目> //遍历所有项目节点&LT循环;
的for(int i = 0; I< nl.getLength();我++){
//创建新的HashMap
HashMap的<字符串,字符串>地图=新的HashMap<字符串,字符串>();
元素e =(元)nl.item(I)
//将每个子节点的HashMap键=>值
map.put(KEY_TITLE,parser.getValue(即KEY_TITLE));
map.put(KEY_URL,parser.getValue(即KEY_URL)); map.put(KEY_DESC,描述:+ parser.getValue(即KEY_DESC));
map.put(KEY_START_TIME,parser.getValue(即KEY_START_TIME));
map.put(KEY_STOP_TIME,parser.getValue(即KEY_STOP_TIME));
如果(parser.getValue(即KEY_STOP_TIME)!=){
map.put(KEY_TIME,parser.getValue(即KEY_START_TIME)+ -
+ parser.getValue(即KEY_STOP_TIME));
}其他{
map.put(KEY_TIME,parser.getValue(即KEY_START_TIME));
}
map.put(KEY_VENUE_NAME,parser.getValue(即KEY_VENUE_NAME));
map.put(KEY_COUNTRY_NAME,parser.getValue(即KEY_COUNTRY_NAME));
map.put(KEY_VENUE_ADDRESS,parser.getValue(即KEY_VENUE_ADDRESS));
map.put(KEY_LATITUDE,parser.getValue(即KEY_LATITUDE));
map.put(KEY_LONGITUDE,parser.getValue(即KEY_LONGITUDE));
map.put(KEY_VENUE,parser.getValue(即KEY_VENUE_NAME)+,
+ parser.getValue(即KEY_VENUE_ADDRESS)); //添加HashList到ArrayList的 menuItems.add(地图); } //添加菜单项到ListView控件 ListAdapter适配器=新SimpleAdapter(这一点,菜单项,
R.layout.list_item,新的String [] {KEY_TITLE,KEY_DESC,
KEY_COUNTRY_NAME,KEY_VENUE,KEY_LATITUDE,
KEY_LONGITUDE,KEY_TIME,},新的INT [] {R.id.title,
R.id.description,R.id.countryName,R.id.venueName,
R.id.lat,R.id.lng,R.id.startTime}); setListAdapter(适配器); //选择单个ListView项
ListView控件LV = getListView(); lv.setOnItemClickListener(新OnItemClickListener(){ @覆盖
公共无效onItemClick(适配器视图<>母公司,观景,
INT位置,长的id){
//从选定的ListItem得到的值
字符串title =((的TextView)view.findViewById(R.id.title))
.getText()的toString()。
字符串描述=((的TextView)查看
.findViewById(R.id.description))的getText()的toString()。 字符串场地=((的TextView)view.findViewById(R.id.venueName))
.getText()的toString()。
字符串纬度=((的TextView)view.findViewById(R.id.lat))。gettext的()
的ToString(); 字符串LNG =((的TextView)view.findViewById(R.id.lng))的getText()。
的ToString(); //开始新意图
在意向=新意图(getApplicationContext()
SingleMenuItemActivity.class);
in.putExtra(KEY_TITLE,职称);
in.putExtra(KEY_DESC,说明);
in.putExtra(KEY_VENUE,地点);
in.putExtra(KEY_LATITUDE,LAT);
in.putExtra(KEY_LONGITUDE,LNG);
startActivity(在); }
});
}}
使用以下code我已经尝试过了做工精细
进口的java.util.ArrayList;
进口的java.util.List; 进口android.app.Activity;
进口android.os.Bundle;
进口android.view.Menu;
进口android.view.View;
进口android.widget.AdapterView;
进口android.widget.ArrayAdapter;
进口android.widget.Spinner;
进口android.widget.Toast;
进口android.widget.AdapterView.OnItemSelectedListener; 公共类MainActivity扩展活动实现OnItemSelectedListener {
私人微调SP; @覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
UI();
spElements(); } 公共无效UI(){
SP =(微调)findViewById(R.id.mydsp);
sp.setOnItemSelectedListener(本);
} 公共无效spElements(){
清单<串GT;个月=新的ArrayList<串GT;();
months.add(六一);
months.add(七月);
months.add(八一);
months.add(九);
months.add(十月);
months.add(十一月);
months.add(十二月); //创建用于微调适配器
ArrayAdapter<串GT; DataAdapter的=新ArrayAdapter<串GT;(这一点,
android.R.layout.simple_spinner_item,月); //下拉布局样式 - 列表视图与单选按钮
DataAdapter的
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //附加数据适配器微调器
sp.setAdapter(DataAdapter的);
} @覆盖
公共布尔onCreateOptionsMenu(菜单菜单){ 。getMenuInflater()膨胀(R.menu.main,菜单);
返回true;
} @覆盖
公共无效onItemSelected(适配器视图<>主,查看视图,INT位置,
长标识){ 字符串项= main.getItemAtPosition(位置)的ToString(); INT指数= item.getSelectedItemPosition();
Toast.makeText(main.getContext(),你选月是:+项目,
Toast.LENGTH_LONG).show(); } @覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
// TODO自动生成方法存根 } }
I would like to ask, I'm working with spinner. I've a list view and a spinner. in my spinner I declare "month", "june","july","august","sept","oct","nov","dec"
In the list view, originally, it is empty. When I click on "August" , it will show that data of August(august.java) in the list view, May I know is there any way to do it?
Because right now , I'm doing via class.. Meaning, when I onclick Aug, it will open up new intent. But I wanted to merge it into one class, so that when I click "August", it will change in the list view and not open up new intent. Is there a way to do it?
This is my code
String [] months = {
"June",
"July",
"August",
"Septemeber",
"November",
"December",
part of my date.java
//SpinnerView
s1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, months);
s1.setAdapter(adapter);
s1.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0,View arg1, int arg2, long arg3) {
int index = s1.getSelectedItemPosition();
//Toast.makeText(getBaseContext(), "You have seleted item :" + months[index] , Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?>arg0) {}
});
if ( s1.equals("August")) {
startActivity(new Intent(date.this,MainActivity.class));
}
else{
startActivity(new Intent(date.this,august
.class));
}
data code that I'm getting. august.java
public class august extends ListActivity {
String URL = "http://api.eventful.com/rest/events/search?app_key=42t54cX7RbrDFczc&location=singapore&page_size=20&date=august";
// XML node keys
static final String KEY_EVENT = "event"; // parent node
static final String KEY_TITLE = "title";
static final String KEY_URL = "url";
static final String KEY_DESC = "description";
static final String KEY_START_TIME = "start_time";
static final String KEY_STOP_TIME = "stop_time";
static final String KEY_TIME = "combine_time";
static final String KEY_VENUE_NAME = "venue_name";
static final String KEY_COUNTRY_NAME = "country_name";
static final String KEY_VENUE_ADDRESS = "venue_address";
static final String KEY_VENUE = "venue";
static final String KEY_LATITUDE = "latitude";
static final String KEY_LONGITUDE = "longitude";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.date);
final ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_EVENT);
// looping through all item nodes <item>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// adding each child node to HashMap key => value
map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
map.put(KEY_URL, parser.getValue(e, KEY_URL));
map.put(KEY_DESC, "Description: " + parser.getValue(e, KEY_DESC));
map.put(KEY_START_TIME, parser.getValue(e, KEY_START_TIME));
map.put(KEY_STOP_TIME, parser.getValue(e, KEY_STOP_TIME));
if (parser.getValue(e, KEY_STOP_TIME) != "") {
map.put(KEY_TIME, parser.getValue(e, KEY_START_TIME) + "-"
+ parser.getValue(e, KEY_STOP_TIME));
} else {
map.put(KEY_TIME, parser.getValue(e, KEY_START_TIME));
}
map.put(KEY_VENUE_NAME, parser.getValue(e, KEY_VENUE_NAME));
map.put(KEY_COUNTRY_NAME, parser.getValue(e, KEY_COUNTRY_NAME));
map.put(KEY_VENUE_ADDRESS, parser.getValue(e, KEY_VENUE_ADDRESS));
map.put(KEY_LATITUDE, parser.getValue(e, KEY_LATITUDE));
map.put(KEY_LONGITUDE, parser.getValue(e, KEY_LONGITUDE));
map.put(KEY_VENUE, parser.getValue(e, KEY_VENUE_NAME) + ", "
+ parser.getValue(e, KEY_VENUE_ADDRESS));
// adding HashList to ArrayList
menuItems.add(map);
}
// Adding menuItems to ListView
ListAdapter adapter = new SimpleAdapter(this, menuItems,
R.layout.list_item, new String[] { KEY_TITLE, KEY_DESC,
KEY_COUNTRY_NAME, KEY_VENUE, KEY_LATITUDE,
KEY_LONGITUDE, KEY_TIME, }, new int[] { R.id.title,
R.id.description, R.id.countryName, R.id.venueName,
R.id.lat, R.id.lng, R.id.startTime });
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// getting values from selected ListItem
String title = ((TextView) view.findViewById(R.id.title))
.getText().toString();
String description = ((TextView) view
.findViewById(R.id.description)).getText().toString();
String venue = ((TextView) view.findViewById(R.id.venueName))
.getText().toString();
String lat = ((TextView) view.findViewById(R.id.lat)).getText()
.toString();
String lng = ((TextView) view.findViewById(R.id.lng)).getText()
.toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(),
SingleMenuItemActivity.class);
in.putExtra(KEY_TITLE, title);
in.putExtra(KEY_DESC, description);
in.putExtra(KEY_VENUE, venue);
in.putExtra(KEY_LATITUDE, lat);
in.putExtra(KEY_LONGITUDE, lng);
startActivity(in);
}
});
}
}
Use following code i have tried it is working fine
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class MainActivity extends Activity implements OnItemSelectedListener {
private Spinner sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uI();
spElements();
}
public void uI() {
sp = (Spinner) findViewById(R.id.mydsp);
sp.setOnItemSelectedListener(this);
}
public void spElements() {
List<String> months = new ArrayList<String>();
months.add("June");
months.add("July");
months.add("August");
months.add("September");
months.add("October");
months.add("November");
months.add("December");
// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, months);
// Drop down layout style - list view with radio button
dataAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
sp.setAdapter(dataAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onItemSelected(AdapterView<?> main, View view, int position,
long Id) {
String item = main.getItemAtPosition(position).toString();
int index = item.getSelectedItemPosition();
Toast.makeText(main.getContext(), "You selected Month is: " + item,
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
这篇关于微调以列表视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!