0

ヘルプ!!

詳細ビューのリストアダプターがあります。私が抱えている問題は、xmlファイルから2番目のビューに値を渡そうとしていることです。私は現在これを行うことができますが、最初のビューでそれらの値を表示する場合に限ります。私が達成しようとしているのは、firstviewにタイトルだけがあり、そのタイトルをクリックすると、詳細ビ​​ューが表示され、詳細が表示されます。

これが私が現在持っているコードです。

ListAdapter adapter = new SimpleAdapter(this, menuItems,
            R.layout.list_item,
            new String[] { KEY_USERADDRESS, KEY_DATEDUE}, new int[] {
                    R.id.name, R.id.cost });
    setListAdapter(adapter);

    // selecting single ListView item
    ListView lv = getListView();

    lv.setOnItemClickListener(new OnItemClickListener() {

        //@Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
        //  String name = ((TextView) view.findViewById(R.id.name)).getText().toString();
            String cost = ((TextView)view.findViewById(R.id.cost)).getText().toString();
        //  String description = ((TextView) view.findViewById(R.id.desciption)).getText().toString();

            // Starting new intent
            Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
            //in.putExtra(KEY_USERADDRESS, name);
            in.putExtra(KEY_DATEDUE, cost);
            //in.putExtra(KEY_DESC, description);
            startActivity(in);

        }
    });
}

ご覧のとおり、リストアダプターがあります。最初のビューにKEY_USERADDRESSの内容のみを表示し、クリックすると残りが表示されます。残りのTextviewをlistadapterに追加すると、textviewが大きくなります。

少し混乱している場合は申し訳ありませんが、Android開発に関してはまだ新人です。

どんな助けでも大歓迎です!!

4

1 に答える 1

1

データがmenuItemsMapオブジェクトに格納されていると仮定すると、onItemClick()で次のようになります。

public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
    //Your code here..
    Map<String, String> myValueMap = menuItems.get(position);

    // Starting new intent
    Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
    in.putExtra(KEY_USERADDRESS, myValueMap.get(KEY_USERADDRESS));
    in.putExtra(KEY_DATEDUE, myValueMap.get(KEY_DATEDUE));
    in.putExtra(KEY_DESC, myValueMap.get(KEY_DESC));
    startActivity(in);
}

onItemClickのpositionパラメーターを使用して、SimpleAdapterを作成してListViewに入力したmenuItemsから選択したマップを取得できます。

于 2012-04-06T16:01:04.577 に答える