リストビューを使用して、SQLiteデータベースのアイテムを次のようにリストしました。
listView = (ListView) findViewById(R.id.listView1);
db.open();
Cursor c = db.getAllHistory();
ArrayList<String> temparr = new ArrayList<String>();
if (c.moveToFirst()) {
do {
temparr.add(c.getString(0)+"t"+c.getString(1)+"t"+c.getString(2)+"t"+c.getString(3)+"t"+c.getString(4)+"t");
} while(c.moveToNext());
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, temparr);
listView.setAdapter(adapter);
} else {
db.close();
}
次に、OnItemClickListenerを使用して特定のリストアイテムにアクセスします。どうすればいいですか?
回答:
回答№1の場合は10特定のデータを取得するには
setOnItemClickListener()-を実装します
そして position
リストのアイテム位置番号を返します:-
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String yourData = temparr.get(position);
}
});
回答№2については2
ちょうど電話する listView.setOnItemClickListener()
リスナーの実装。
回答№3の場合は0
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// your code
// Toast.makeText(context,temparr.get(position),Toast.LENGTH_SHORT).show();
}
});
parent->クリックが発生したAdapterView。
view->クリックされたAdapterView内のビュー(これはアダプターによって提供されるビューになります)
position->アダプタ内のビューの位置。
id->クリックされたアイテムの行ID。
回答№4の場合は0
次のようにリスナーを設定できます。
このコードを onCreate()
TextView disp = (TextView) findViewById(R.id.textView1);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String temp = (String) listView.getItemAtPosition(position);
disp.setText(temp);// display on screen
}
});
編集:
listItemを画面に表示したいのでトーストを表示するのではなく、永続的な方法です。これを行う最も簡単な方法は、レイアウトにTextViewを追加することです。更新されたコードを見る
お役に立てれば。