我想通过单击按钮将值传递给列表视图。问题是我想通过几个按钮获取不同活动的值来制作一个列表。
例如: 在
EnglandActivity
,如果我点击按钮访问,我想通过"英格兰"到MainActivity
中的 ListView , 在马来西亚,活动通过"马来西亚"到MainActivity中的ListView。
我不知道该怎么做,你能帮助我吗?
答案 0 :(得分:0)
让您的所有活动共享一个对象,将数据放在那里并在必须将数据放入ListView
的适配器时阅读它们
答案 1 :(得分:0)
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
Intent listIntent = new Intent(getApplicationContext(), YourActivity.class);
listIntent.putExtra("country", yourList.get(position));
startActivity(listIntent);
}
});
在下一个活动onCreate:
String country;
Bundle extras = getIntent().getExtras();
if(extras == null) {
country= null;
} else {
country= extras.getString("country");
}
答案 2 :(得分:0)
首先,您应该在 MainActivity.java 的onCreate()
方法上写下这个
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String data;/*For Storing Country Name*/
ListView listview = (ListView)findViewById(R.id.listView); /*Finding ListView From Layout*/
ArrayList<String> list = new ArrayList<String>(); /*ArrayList To Store All The Data Of ListView*/
ArrayAdapter adapter= new ArrayAdapter<String>(this,R.layout.android.R.layout.simple_list_item_1,list);/*Defining ArrayAdapter For ListView*/
listview.setAdapter(adapter); /*Setting Adapter To ListView*/
Bundle intentExtras = getIntent().getExtras(); /*Getting The Intent Extras Sent By The Activity Which You Had Navigated From*/
if(intentExtras != null) {/*Checking For Null*/
data= intentExtras.getString("countryName");/*Extracting The Data From The Intent Extras*/
list.add(0,data);/*You Can Replace 0 With The Position Of Your Wish*/
} else {
data=null;
}
}
现在在每个 CountryNameActivity.java
按钮的OnClickListener()
方法中写下此内容
btn.setOnClickListener(new OnClickListener() {/*Setting The Click Listener*/
@Override
public void onClick(View v) {
Intent intent = new Intent(this,MainActivity.this)/*Defining The Intent*/
intent.putExtra("countryName","CountryName");/*Putting The Data To Pass To The Next Activity*/
startActivity(intent);/*Starting The Activity*/
}
});