2

ListViewのクリックハンドラーを作成しようとしていますが、リストがクリックに応答しません。
地元の回答の多くを読んでください、しかし私には何も役に立ちません:(

コード:

public class MainActivity extends SherlockListActivity {

private ArrayList<Order> listItems;
private myAdapter myAdapter;
ListView lv;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

lv = getListView();
lv.setTextFilterEnabled(true);
this.myAdapter = new myAdapter(this, R.layout.list_item, listItems);
setListAdapter(myAdapter);
....
}

protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    Toast.makeText(getApplicationContext(), "Clicked " + l.getItemAtPosition(position), Toast.LENGTH_SHORT).show();         
}


メインのレイアウト:

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fastScrollEnabled="true"        
    android:listSelector="@drawable/list_selector"
    android:smoothScrollbar="true"
    android:textColorHighlight="@android:color/transparent"
    android:background="#000000" >
</ListView>

行:

<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:paddingBottom="5dp"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="5dp"
    android:src="@drawable/logo" />

<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/image"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:paddingBottom="5dp"
    android:text="Название"
    android:textColor="@android:color/black"
    android:textSize="18dp" />

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/text"
    android:layout_below="@+id/text"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:paddingBottom="5dp"
    android:text="Эпизод, время"
    android:textSize="14dp" />

ご協力いただきありがとうございます。
よろしく

4

2 に答える 2

2

クラスがイベントに応答するようにするには、クラスに OnItemClickListener を実装し、それをリスト list.setOnItemClickListener (this) に割り当てる必要があります。

于 2013-01-18T08:31:28.290 に答える
2

アダプタで setOnClickListener を試してください。ImageView があるため、OnListItemClick は機能しません。onListItemClick が ListActivity で呼び出されない

于 2013-01-18T09:20:46.793 に答える