0

ListActivity私はネットからの例を試していました。カスタム リスト レイアウトの使用に問題があります。これが私のコードです:

public class Test1Activity extends ListActivity {
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
            "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
            "Linux", "OS/2" };
    //ArrayAdapter<String> standard_adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1, values);

    ArrayAdapter<String> my_adapter = new ArrayAdapter<String>(this, R.layout.mylistlayout, R.id.label,values);
    setListAdapter(my_adapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    String item = (String) getListAdapter().getItem(position);
    Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
}}

onListItemClick標準アダプターを使用すると正常に動作します。しかし、私のアダプターを使用すると機能しません。実際、リスト項目をクリックしても強調表示されません。なぜこうなった。コードが不足していますか?

mylistlayout(id ) と( id ) をLinearLayout持つ単純なものです。TextViewlabelButtonbutton1

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >


<TextView
    android:id="@+id/label"
    android:layout_width="287dp"
    android:layout_height="wrap_content"
    android:text="items" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="32dp"
    android:padding="0dp"
    android:text="X" />

4

2 に答える 2

0

追加してみてください:

android:focusable="false"

Buttonxmlレイアウトであなたに。

于 2012-04-29T18:09:59.987 に答える
0

この属性をあなたの LinearLayout に追加してみてくださいmylistlayout:

android:descendantFocusability="blocksDescendants"

于 2012-04-29T18:24:59.493 に答える