0

ListView以下のように生成しました

画像を投稿するのに十分な担当者がいません。URLを解読する必要があります:image

上の画像の青い行は、次を使用して入力されていHashMapます。

private void showListView(JSONArray rows, JSONArray totals){

final ListView list = (ListView) findViewById(R.id.historylist);
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map;
String[] titles = new String[]{"recordID","date","description","num1","num2"};
SimpleAdapter mSchedule = null;

try{

    for(int i=0;i<rows.length();i++){
        map = new HashMap<String, String>();
        for(int n=0;n<allRows.getJSONArray(i).length();n++){
            map.put(titles[n], allRows.getJSONArray(i).getString(n));
        }
        mylist.add(map);
    }

    mSchedule = new SimpleAdapter(
        History.this,
        mylist,
        R.layout.history_row,
        titles,
        new int[] {R.id.textView0, R.id.textView1, R.id.textView2, R.id.textView3, R.id.textView4}
    );

    list.setAdapter(mSchedule);

}catch(Exception e){
    Log.e("Creating ListView", e.toString());
}

}

<LinearLayout >

<LinearLayout >
    <LinearLayout >
        <TextView (recordID) />
        <TextView (date) />
        <TextView (num1) />
        <TextView (num2) />
    </LinearLayout>
    <TextView (description) />
</LinearLayout>

<LinearLayout (When this one is clicked) >
    <ImageView />
</LinearLayout>

上の画像の緑色のボタンをクリックすると、青色の行情報を取得したいと思います。

(日付、説明、num1、num2)

また、より良い方法でデータを入力できると思われる場合はListView、お知らせください。

4

1 に答える 1

0

を拡張して、独自のカスタムアダプタを実装する必要がありますBaseAdapter。このメソッドでは、そのクリックイベントgetViewにバインドする必要があります。のインスタンスを1つ持って、を使用するButtonことをお勧めします。クリックされたボタンを保持しているビューの位置が決まったら、データにアクセスできます。データソースを介して、またはデータソースから直接。OnClickListenerAdapterView#getPositionForViewAdapter#getItem

于 2012-04-13T05:13:52.760 に答える