(ListActivity
사용)이 SQLiteDatabase
에서 채워집니다. 각 행의 onListItemClick
항목에 ID (PK)를 첨부하여 해당 ID로 작업을 수행 할 수 있습니다.SimpleCursorAdapter 및 ViewBinder - 클릭시 검색 할 ListView 항목에 데이터 바인딩
나는 임의의 데이터를 을 사용하여 setTag
으로 설정하고 getTag
으로 검색 할 수 있음을 읽었습니다. (실제로이 작업이 아직 성공적으로 수행되지 않아서 문제가 될 수 있습니다.) 여기에 내가 (단순/간결하게) 사용하고 무엇을 아래로 껍질을 벗겼다 버전입니다 :
public class Favorites extends ListActivity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
FavoritesDB db = FavoritesDB.getInstance(this);
Cursor c = db.fetchFavorites();
startManagingCursor(c);
String[] columns = new String[] { "_id" };
int[] to = new int[] { R.id.word };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.favorite, c, columns, to);
adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
view.setTag(cursor.getInt(0));
return true;
}
});
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Object wordID = v.getTag();
Toast.makeText(getBaseContext(), "ID=" + wordID, 1).show();
}
}
ListView
가 채워지되고 Toast
가 나타나지 않습니다,하지만 항상 "ID=null"
, 그래서 ID는 아닙니다 분명히 을 호출하거나 getTag
이라는 속성을 검색하지 않는 경우 ViewBinder
으로 설정됩니다.
무엇을하려고합니까? – confucius
onListItemClick, 목록 항목 (이 예제에서는 데이터를 할당 한 SQLite 행의 ID (기본 키))에 할당 된 임의의 데이터 조각으로 작업 할 수 있기를 원합니다. – momo