2014-11-10 2 views
1

Я хочу получить данные в строке с щелчком в спискеView.Как получить элемент из каждой строки списка?

Это мой код, я хочу получить доступ к значению «ID» в каждом списке строк.

Как получить элемент из каждой строки списка?

Как получить элемент из каждой строки списка?

public class ActivityBookMark extends Activity { 

private SQLiteDatabase database; 
private ListView lv; 
private int ID; 
public ArrayAdapter<String> adapter; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.book_mark); 
    lv = (ListView) findViewById(R.id.BookMarkListView); 
    Animation animation = AnimationUtils.loadAnimation(this, 
      R.anim.translate); 
    lv.setLayoutAnimation(new LayoutAnimationController(animation)); 
    ArrayList<String> data = geData(); 
    adapter = new ArrayAdapter<String>(this, R.layout.bookmark_item, 
      R.id.TXTbookmarkItem, data); 
    lv.setAdapter(adapter); 
} 

public ArrayList<String> geData() { 
    // TODO Auto-generated method stub 
    database = SQLiteDatabase.openDatabase(DBHelper.DB_PATH 
      + DBHelper.DB_NAME, null, 0); 
    Cursor localCursor = database 
      .rawQuery(
        "SELECT `rowid`,* FROM `TABLE1` WHERE 1=1 AND `FAV` LIKE '%TRUE%' ORDER BY `rowid` ASC LIMIT 0, 50000", 
        null); 
    ArrayList<String> result = new ArrayList<String>(); 
    int TITLE = localCursor.getColumnIndex("TITLE"); 
    //↓ i want to access ID value onto OnClickUI method 
    ID = localCursor.getColumnIndex("ID"); 
    for (localCursor.moveToFirst(); !localCursor.isAfterLast(); localCursor 
      .moveToNext()) { 
     result.add(localCursor.getString(TITLE)); 
    } 
    return result; 
} 

public void OnClickUI(View v) { 
    switch (v.getId()) { 
    case R.id.DelFromBookMark: { 
     //Code to retrive ID of each Row 
.... . 

Toast.makeText(ActivityBookMark.this,v.getViewTreeObserver()+"",  Toast.LENGTH_SHORT).show(); 
     database.execSQL("UPDATE TABLE1 SET FAV='FALSE' WHERE ID=" + ID 
       + ""); 
     List<String> newItems = geData(); 
     adapter.clear(); 
     adapter.addAll(newItems); 
     adapter.notifyDataSetChanged(); 
     Toast.makeText(getApplicationContext(), 
       "از لیست نشان شده ها حذف شد!", Toast.LENGTH_SHORT).show(); 

    } 

     break; 

    default: 
     break; 
    } 
} 

} 
+0

Реализовать 'OnItemClickListener' для ListView. – Piyush

ответ

2

Вы должны осуществлять onItemclicklistner

lv.setOnItemClickListener(new OnItemClickListener() 
    { 
     @Override 
     public void onItemClick(AdapterView<?> adapter, View v, int position, 
      long arg3) 
     { 
      //in this method you get position and view of the item clicked the list 


     } 
    }); 
+1

Вы пробовали это. – Piyush

+1

Да. я делаю это. но я не знаю, по какой команде я могу получить доступ к ID. в OnItemClickListener –

+1

просто используйте v.getId(); внутри метода. – Piyush

Смежные вопросы