Listview onitemclick监听器无法正常工作

时间:2013-08-13 06:53:22

标签: android android-listview

我正在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>

实际上我在我的应用程序中首先使用了两个视图,当应用程序打开时,另一个视图在列表视图加载时打开。

有人可以帮我解决。

4 个答案:

答案 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);