Android 包含listview的布局,无法切换到新活动onitemclick
我将listview作为主布局的一部分,listview上的Onclickevent不起作用。谁能告诉我哪里错了 下面是代码片段:Android 包含listview的布局,无法切换到新活动onitemclick,android,android-layout,android-listview,Android,Android Layout,Android Listview,我将listview作为主布局的一部分,listview上的Onclickevent不起作用。谁能告诉我哪里错了 下面是代码片段: public class HostListActivity extends ListActivity { public ArrayList<String> deviceList; static LinearLayout mainLayout; public ListView hostListView; public vo
public class HostListActivity extends ListActivity {
public ArrayList<String> deviceList;
static LinearLayout mainLayout;
public ListView hostListView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
designLayout();
setContentView(mainLayout);
}
public void designLayout() {
mainLayout = new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL);
int lHeight= LinearLayout.LayoutParams.FILL_PARENT;
int lWidth = LinearLayout.LayoutParams.WRAP_CONTENT;
AddHostListView(lHeight,lWidth);
}
private void AddHostListView(int lHeight, int lWidth) {
deviceList = new ArrayList<String>();
deviceList.add("abc");
deviceList.add("efg");
deviceList.add("hij");
hostListView = new ListView(this);
hostListView.setId(android.R.id.list);
hostListView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, deviceList));
hostListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Intent myIntent = new Intent(v.getContext(), DirBrowserActivity.class);
startActivity(myIntent);
}
});
mainLayout.addView(hostListView, new LinearLayout.LayoutParams (lHeight,lWidth));
}
}您应该将此代码
registerForContextMenu(getListView());
将适配器设置到listview后,如果要将上下文菜单添加到项目中。如果您只想在项目单击时进行smth,则需要使用以下方法:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
}
希望这有帮助。您扩展了ListActivity,但没有使用此类中的任何功能。我已经注意到,这与不使用监听器有关。简单更改:
public class HostListActivity extends ListActivity {
到
公共类HostListActivity扩展活动{
会有帮助的
public class HostListActivity extends ListActivity {