我正在從教程中設計一個簡單的應用程序,我已經看到,我試圖簡單地在列表視圖,名稱和價格的每一行中顯示兩個文本視圖。這工作,我可以選擇行,它會激活一個意圖。然而,我然後改變了我的xml代碼,以便listview將被放置在linearLayout中,以便我在屏幕頂部有一個標題。現在,當我點擊任何行時,它們會突出顯示,但沒有其他事情發生。我已經嘗試在xml中將textviews設置爲clickable = false,但仍然沒有運氣。我希望我只是在onCreate方法中缺少一些簡單的東西。 `公共類ViewMenuListing擴展ListActivity {LinearLayout中的ListView不再反應OnclickListener
public static final String ROW_ID = "row_id"; // Intent extra key
private ListView contactListView; // the ListActivity's ListView
private CursorAdapter contactAdapter; // adapter for ListView
private String tableName;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
contactListView = getListView(); // get the built-in ListView
contactListView.setOnItemClickListener(viewContactListener);
setContentView(R.layout.viewmenu);
//Get table name of menu clicked.
Bundle extras = getIntent().getExtras();
tableName = extras.getString("table");
// map each contact's name to a TextView in the ListView layout
String[] from = new String[] { "name", "price" };
int[] to = new int[] { R.id.itemTextView, R.id.priceTextView };
//int[] to = new int[] { R.id.itemTextView};
contactAdapter = new SimpleCursorAdapter(
ViewMenuListing.this, R.layout.menu_list_item, null, from, to);
setListAdapter(contactAdapter); // set contactView's adapter
}`
我在這段代碼中唯一改變的是,我用的setContentView(R.layout.viewmenu)現在,當我之前didnt和名單將只是內容視圖。
這裏是我的viewMenu文件:
`
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>`
和我menu_list_item.xml
<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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/itemTextView"
android:padding="8dp"
android:clickable = "false"
android:textSize="20sp" android:textColor="@android:color/white"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical">
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/priceTextView"
android:clickable = "false"
android:textColor="@android:color/white"/>
</LinearLayout>
謝謝您的幫助!
所以基本上,當你移除父LinearLayout(不修改任何其他),它的作品?當你定義一個單獨的ListView – Soham 2012-03-16 04:13:21
是的時候,爲什麼還要使用ListActivity?當我註釋掉setContentView的時候。說實話,我正在接受一個教程。我想這是一個壞的! – 2012-03-16 04:18:50