我是Android编程的新手。我正在使用ListView开发一个小项目,在第一个屏幕上显示5个主题。选择任何特定主题应该打开一个新的相应主题页面。我已经编写了只添加5个主题的java代码,就是这样! 我不知道该怎么办。请帮助!!
答案 0 :(得分:1)
写
YourListView.setOnItemclickListner(new OnItemCLickListner)
并在onclick()内 写下你想去的下一个活动的意图
检查这一点以获取更多关于意图的信息
Intent intent = new Intent(yourActivityName.this,ActivityYouwantToGo.class);
startActivity(intent);
答案 1 :(得分:0)
您需要在列表中添加OnItemClickListener,以启动新活动。
你能发布你的代码吗?
答案 2 :(得分:0)
首先,您应该检查Android ListActivity的工作方式Here。然后,您应该查看此link,其中解释了如何使用BaseAdapter自定义ListView。如果您按照链接进行操作,最后应该有一个很酷的ListView。
接下来,如果你希望在clik on item时发生某些事情,假设你的活动扩展了ListActivity,你可以覆盖
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent intent = new Intent(this.getActivity(), ActivityYouWantOpen.class);
intent.putExtra("something", list.get(position).getSomething()); //if you want to save specific info of the clicked item
startActivity(intent);
}
答案 3 :(得分:0)
好的,在你的活动中这样做,列出了5个科目。
ArrayList<String> subjects = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ur_xml);
listView = (ListView) findViewById(R.id.list); // list in your XML
subjects.add("Maths");
subjects.add("English");
subjects.add("Computer");
subjects.add("Biology");
subjects.add("XYZ");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
ur_present_class.this,
android.R.layout.simple_expandable_list_item_1, subjects);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(present_class.this,
Math.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(present_class.this,
English.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(present_class.this,
Computer.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(present_class.this,
Biology.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(present_class.this,
XYZ.class);
startActivity(i4);
break;
});
}