0

我在我的应用程序中显示列表。当用户可以单击列表时,它将发送到下一个活动。列表显示正确,但列表在低于 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>
4

1 回答 1

3

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

listview.setOnItemClickListener(new OnItemClickListener() {

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

删除方法并在方法本身onListItemClick()中以这种方式编写。oncreate()

我希望这能帮到您。

于 2013-05-08T13:51:55.840 回答