原谅问题标题,因为我不确定使用正确的术语。 我只是熟悉ListView,我想做的是:
- 假设我有一个Dog类,它有 String name , String breed 和 int age 。
- 然后我会创建Dog的许多实例并将它们放入ListView中,它只显示它们的名称。
- 我也有一个布局,比如说 doginfo.xml ,它的文字是“Name:”,“Breed:”和“Age:”。
那么怎样才能使点击项的值(即:名称,品种,年龄)显示在下一个活动上,即 doginfo.xml ?
答案 0 :(得分:1)
我假设你有一个你的狗的阵列/ arraylist,你正在添加它们以便列表视图。在android doc:
中查看此exmaple的onItemClickListenerhttp://developer.android.com/resources/tutorials/views/hello-listview.html
在你的点击监听器中使用“int position”从数组/ arraylist中获取对象。获得此信息后,您可以使用“bundle.putString()”和“b.getString()”在活动之间轻松传递信息。
请查看此简单教程,了解有关在活动之间传递数据的信息:
http://thedevelopersinfo.wordpress.com/2009/10/15/passing-data-between-activities-in-android/
答案 1 :(得分:1)
这很容易。获得ListView后,设置OnItemClickListener
:
listView.setOnItemClickListener(new OnItemClickListener() {
public void onClick(AdapterView<?> parent, View view, int position, long id) {
//Get your Dog object from the 'position' parameter you get here.
//You should save the 'Dogs' in an array, so you can access them here easily.
Dog d = mDogsArray[position];
Intent intent = new Intent(YourActivity.this, DogInfoActivity.class);
intent.putExtra("name", d.getName());
intent.putExtra("breed", d.getBreed());
intent.putExtra("age", d.getAge());
startActivity(intent);
}
}
如果要动态添加/删除狗,可以使用方法ListView.setListAdapter
更改列表视图显示的视图。以这种方式创建一个数组适配器:
ArrayAdapter<String> dogs = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
以这种方式添加狗:
dogs.add(dogInfoString)
答案 2 :(得分:1)
让我回答您需要遵循的步骤:
ArrayList<DogClassObject>
ArrayList<String>
中逐个添加名称。要实现此目的,请通过以下示例:Android Simple ListView
现在,要在Click侦听器上实现并显示dog_info,请执行以下步骤: