【发布时间】:2012-01-18 11:56:51
【问题描述】:
我的列表包括位于“标题”行下方的八个项目,所有项目都包含在我的应用程序的 选项卡 中。我不知道如何根据在列表中单击的项目更改为活动(或可能是不同的选项卡)。
我目前正在扩展 Activity 类,不确定这是否是一个问题。我尝试在扩展 ListActivity 类的同时使用 onListItemClick;然而,这会导致应用程序崩溃。
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
public class Tab2 extends Activity {
private ListView listView1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab2);
Cinema cinema_data[] = new Cinema[]{
new Cinema(R.drawable.blue, "Blue Cinema"),
new Cinema(R.drawable.green, "Green Cinema"),
new Cinema(R.drawable.purple, "Purple Cinema"),
new Cinema(R.drawable.red, "Red Cinema"),
new Cinema(R.drawable.yellow, "Gold Cinema"),
new Cinema(R.drawable.blue, "Cyan Cinema"),
new Cinema(R.drawable.green, "Lime Cinema"),
new Cinema(R.drawable.purple, "Magenta Cinema")
};
CinemaAdapter adapter = new CinemaAdapter(this,
R.layout.listview_item_row, cinema_data);
listView1 = (ListView)findViewById(R.id.listView1);
View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row, null);
listView1.addHeaderView(header);
listView1.setAdapter(adapter);
}
}
任何帮助将不胜感激!
编辑:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
try {
Intent i = new Intent("android.lab.two.Tab1");
startActivity(i);
} catch(Exception e){
e.printStackTrace();
}
}
【问题讨论】:
-
您在哪里编写 onListItemClick 事件代码将该代码粘贴到此处
-
所以你想在你的标签中开始你的活动?它是在当前的列表视图选项卡中还是在不同的选项卡中?
-
我主要想知道如何从这个标签和列表中开始任何活动。或者至少检测到用户点击了一个项目。
-
另外,你能在应用程序崩溃时发布错误吗?你的问题很模糊,我们不知道真正的问题是什么......
-
错误信息也很模糊; “不幸的是
已停止工作” - 奇怪的是,只有当我单击包含列表的选项卡时才会发生这种情况。
标签: android listview android-activity adapter