android:Listview不能在大于3.0的版本上点击?

时间:2013-05-08 13:42:21

标签: android

我在我的应用中显示列表。当用户点击列表时,它将发送到下一个活动。列表显示正确但列表可在小于3.0的版本上单击,而不能在大于3.0的版本上单击。我不明白我错在哪里。我正在使用listfragment显示列表和覆盖方法onListItemClick。我在stackoverflow上尝试了一些解决方案,但没有实现我的目标。请有人解决。

以下是listfragment中的onListItemClick方法。

@Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        l.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                    long arg3) {
                Intent href = new Intent(getSherlockActivity(), ProjectDetailActivity.class);

                String projId = ((TextView) view.findViewById(R.id.projectId)).getText().toString();
                String projName = ((TextView) view.findViewById(R.id.projectName)).getText().toString();
                Log.v("in itemclickListener", "click"+((TextView) view.findViewById(R.id.projectId)).getText().toString());

                getSherlockActivity().startActivity(href);
            }
        });
    }

以下是listview.xml

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="1dp"
    android:divider="@drawable/divider"   
    android:smoothScrollbar="true"
    android:dividerHeight="1dp"
    android:scrollbarThumbVertical="@drawable/divider" 
    android:drawSelectorOnTop="false"
    android:listSelector="@drawable/list_selector"
    android:clickable="true"
    >
</ListView>

1 个答案:

答案 0 :(得分:3)

我认为以下方式就足够了。

listview.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
       // TODO Auto-generated method stub
    }
});

删除onListItemClick()方法,并以oncreate()方法本身的方式编写。

我希望这会对你有所帮助。