0

我正在一个需要创建onItemClick方法的 Android 应用程序中工作,但我没有这样做。下面是该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

4 回答 4

1

您没有在活动中设置布局。首先使用setContentView()设置您的 xml,如下所示:

setContentView(R.layout.your_xml);

然后继续

mListview = (ListView) findViewById(R.id.mLiveview);
于 2013-08-13T07:01:37.493 回答
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" />

如果您正在使用 custom 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" />
于 2013-08-13T07:05:06.757 回答
0

将此代码添加到您的布局中,然后重试;

android:clickable="true"
android:focusable="true"
于 2013-08-13T07:01:40.913 回答
-1

你忘记的主要事情是

setContentView(R.layout.activity_menus);
于 2013-08-13T06:58:47.500 回答