私が見たチュートリアルから単純なアプリケーションを設計しています。リストビューの各行に名前と価格の2つのテキストビューを表示するよう試みています。これはうまくいって、私は行を選択することができ、それは意図を活性化するでしょう。しかし、私はxmlコードを変更して、リストビューをlinearLayoutに配置して、画面上部にヘッダーを置くようにしました。今は、いずれかの行をクリックすると、強調表示されますが、それ以外は何も起こりません。私はすでにXMLでclickable = falseに設定されたtextviewsを作成しようとしましたが、まだ運がありません。私は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
}`
唯一のことは、私が前にdidntの、リストだけでコンテンツビューになるとき、私は今、setContentView(R.layout.viewmenu)を使用したことだった拡張します。ここで
は私の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を定義するときにListActivityを使用する理由はありますか? – Soham
はい、setContentViewをコメントアウトすると機能します。正直なところ私はチュートリアルに従っていました。私はそれが悪いことだと思う! –