Java 通过自定义listview从活动A转到活动B
我已经设法用一个自定义的listview填充了一个活动,我们称之为活动A,它工作得很好 当用户单击活动A中项目列表中的项目时,我想将该项目的详细信息传递到活动B中 这就是我的活动A的样子:Java 通过自定义listview从活动A转到活动B,java,android,Java,Android,我已经设法用一个自定义的listview填充了一个活动,我们称之为活动A,它工作得很好 当用户单击活动A中项目列表中的项目时,我想将该项目的详细信息传递到活动B中 这就是我的活动A的样子: public class ChannelList extends Activity implements OnItemClickListener { public static final String[] names = new String[] { "BBC One", "BBC Two"
public class ChannelList extends Activity implements OnItemClickListener {
public static final String[] names = new String[] { "BBC One", "BBC Two" };
public static final String[] descs = new String[] { "London, SD", "England, SD"};
ListView listView;
List<ChannelItem> channelItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_channel_list);
channelItems = new ArrayList<ChannelItem>();
for (int i = 0; i < names.length; i++) {
ChannelItem item = new ChannelItem(names[i], descs[i]);
channelItems.add(item);
}
listView = (ListView) findViewById(R.id.listView1);
ChannelListViewAdapter adapter = new ChannelListViewAdapter(this, R.layout.item_channel_list, channelItems);
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
// Toast toast = Toast.makeText(getApplicationContext(), "Item " + (position + 1) + ": " + channelItems.get(position), Toast.LENGTH_SHORT);
// toast.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
// toast.show();
Intent intent = new Intent(this, ScheduleList.class);
startActivity(intent);
}
}
根据我对Android API文档的解释,我应该使用Intent.putExtra将数据传递到Activity B调用中
问题是,如何传递用户单击的列表项的名称和描述元素
例如,当我调用活动B时,如果从列表视图中单击BBC One,它应该能够下载BBC One的电视节目表数据。如何让活动B知道单击哪个列表项触发了活动B?如何
intent.putExtra("name", names[position]);
在活动A中的onItemClick方法和
String name = getIntent().getStringExtra("name");
在活动B的onCreate方法中