我正在Android应用中工作,我需要创建onItemClick
方法,但我没有这样做。下面是onItemClick
方法不起作用的代码。有谁知道为什么它不起作用?
public class sample extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.live_chat_screen);
mListview = (ListView) findViewById(R.id.mLiveview);
mListview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapters, View childView,int position, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(sample.this,"Item number : " + position + " clicked",Toast.LENGTH_LONG).show();
}
});
这是xml:
<ListView
android:id="@+id/mLiveview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fastScrollEnabled="true"
android:scrollbars="vertical" >
</ListView>
实际上我在我的应用程序中首先使用了两个视图,当应用程序打开时,另一个视图在列表视图加载时打开。
有人可以帮我解决。
答案 0 :(得分:1)
您没有在活动中设置布局。首先使用 setContentView()设置您的xml,如下所示:
setContentView(R.layout.your_xml);
然后继续
mListview = (ListView) findViewById(R.id.mLiveview);
答案 1 :(得分:0)
将此代码添加到您的布局中,然后重试;
android:clickable="true"
android:focusable="true"
答案 2 :(得分:0)
在ListView
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal"
android:scrollbars="vertical"
android:smoothScrollbar="true" />
如果您使用自定义ListView
,例如使用复选框,请使用
android:focusable="false"
android:focusableInTouchMode="false"
<CheckBox
android:id="@+id/chk_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"
android:focusableInTouchMode="false" />
答案 3 :(得分:-1)
你忘记的主要是
setContentView(R.layout.activity_menus);