2014-03-31 2 views
0

위해 ArrayList .. 각 뷰 또는 행안드로이드 통과 ID가 나는 목록보기를하고 데이터베이스에서 데이터를 얻고

하지만 어떻게 목록보기로 데이터베이스에서 또한 ID를 전달하는 데이터베이스에서 값을 가지고

그래서 내가 ID를 얻을 하나 하나의보기를 클릭하고처럼 내 일을 할 때 (삭제 ... ID = ... 곳)이 내 코드입니다

this how it looks

감사합니다 :

private void setAdapter() { 


dbHelper=new DatabaseHelper(this); 
Cursor c = dbHelper.getcursor("M_table","M_title"); 
String s=""; 
Integer i=0; 
ArrayList<String> values = new ArrayList<String>(); 
if (c != null) { 
if (c.moveToFirst()) { 
do { 
i++; 
int Mid = c.getInt(c.getColumnIndex("Mid")); 
String M_title = c.getString(c.getColumnIndex("M_title")); 






values.add(M_title); 



}while (c.moveToNext()); 
} 
} 


ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview,values); 

setListAdapter(adapter); 
adapter.notifyDataSetChanged(); 
} 
+0

사용자 정의 listadapter를 작성하십시오. 다음은 좋은 자습서입니다. http://www.vogella.com/tutorials/AndroidListView/article.html – Ne0

답변

0

먼저 listview XML 파일에 ID를 저장해야합니다. 다음과 같이 다른 필드를 입력하십시오.

<TextView android:id="@+id/tv_Id" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" />

는 어댑터 코드에서, 당신은이 분야에서 ID를 검색하고 번들을 사용하여 다음 활동에 전달해야합니다.

public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      String clickid = ((TextView) view.findViewById(R.id.tv_Id)) 
        .getText().toString(); 

      Bundle job_info = new Bundle(); 
      id_info.putString("key", clickid); 
      Intent i = new Intent(CurrentActivity.this, NextActivity.class); 
      i.putExtras(id_info); 
      startActivity(i); 
     } 
관련 문제