2014-02-14 7 views
1

목록보기에 문제가 있습니다. 항목과 하위 항목을 표시하며, 두 항목을 데이터베이스에 삽입하려고하지만 작동하지 않습니다 !! 오류는 내가 그것을 텍스트보기로 캐스팅 할 수 없다는 것입니다. 누군가 나를 도와주십시오. 목록보기에서 항목과 하위 항목을 삽입하십시오.

내가 얻을 오류입니다 :

여기
java.lang.ClassCastException: android.widget.TwoLineListItem cannot be cast to android.widget.TextView 

목록보기의 코드 : 여기

String[] databaseColumnNames = new String[] { DBAdapter.col_N_Ordre,DBAdapter.col_Nom_prénom}; 
    int[] toViewIDs = new int[] { android.R.id.text1,android.R.id.text2 }; 

    SimpleCursorAdapter myCursordapter = new SimpleCursorAdapter(this,android.R.layout.simple_expandable_list_item_2 , cursor, databaseColumnNames, toViewIDs); 

    ListView list = (ListView) findViewById(android.R.id.list); 

    list.setAdapter(myCursordapter); 

삽입 코드 :

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(final AdapterView<?> arg0, View arg1, 
       final int position, long arg3) { 

Toast.makeText(getApplicationContext(), " " + position, Toast.LENGTH_LONG).show(); 
    final String s = ((TextView)arg1).getText().toString(); 
    db.insertest(s); 

쿼리는 다음과 같습니다

public long insertest(String region) { 
     ContentValues initialValues = new ContentValues(); 
      initialValues.put(col_Region,region); 
     //initialValues.put(col_Provence_prefecture); 
      return db.insert(MENAGE,null, initialValues); 
    } 
귀하의 목록보기 항목을 클릭 리스너에서 코드를 다음
+0

, 내가 한 항목과 동일한 코드를했고,이 괜찮 았는데, 응답에 대한 데이터베이스 또는 관련 코드 – Andrain

+0

감사 Adrain에 데이터를 삽입하여 로그 캣 쿼리를 게시 하지만 내가 두 가지를 표시하기로 결정했을 때 나는이 오류를 얻었습니다. 목록보기로 캐스팅 할 수 없습니다. 어떻게 해결할 수 있을까 ?? –

+0

@Adrian : 내 수정 된 질문보기. –

답변

1

넣어

TextView v1 = (TextView)arg1.findViewById(android.R.id.text1); 
String first = v1.getText().toString(); 
TextView v2 = (TextView)arg1.findViewById(android.R.id.text2); 
String second = v2.getText().toString(); 

ContentValues cv = new ContentValues(); 
cv.put(DBAdapter.col_Region, first); 
cv.put(DBAdapter._id, second); 
myCursordapter.notifyDataSetChanged(); 
list.setAdapter(adapter); 

DBAdapter sql_Adapter = new DBAdapter(context); 
sql_Adapter.open(); 

db.insertest(cv); 
sql_Adapter.close(); 
+0

당신의 도움에 감사드립니다, 덕분에 :) –

+0

해피 당신을 도울 :) – Andrain

관련 문제