2013-07-25 2 views
0

OnItemClickListener를 올바르게 설정했지만 목록 항목 중 하나를 클릭하면 충돌이 발생합니다. 한 OnCreate 내부목록보기 항목을 클릭 할 때 새 활동을 시작하고 싶습니다.

public class Inbox extends ListActivity { 

    private static String[] numbers; 
    private static String[] content; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.inbox_list); 
     DictionaryOpenHelper helper = new DictionaryOpenHelper(this,"MyTable", null, 2); 
     SQLiteDatabase database = helper.getReadableDatabase(); 
     Cursor c = database.rawQuery("SELECT * FROM MyTable", null); 

     numbers = new String[c.getCount()];  
     content = new String[c.getCount()]; 
      c.moveToFirst(); 
      int count = 0; 
      do{ 
       numbers[count] = c.getString(c.getColumnIndex("PhoneNumber")); 
       content[count] = c.getString(c.getColumnIndex("Message")); 
       count++; 
      } 
      while(c.moveToNext()); 

      database.close(); 
     setListAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, 
       numbers)); 
    this.getListView().setOnItemClickListener(listener); 
     } 
    private OnItemClickListener listener = new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      Intent intent = new Intent(Inbox.this, ContDisplay.class); 
      intent.putExtra("number", numbers[arg2]); 
      startActivity(intent); 
     } 
    }; 
} 

:

this.getListView().setOnItemClickListener(listener); 
+0

Stackoverflow에 오신 것을 환영합니다. 코드를 붙여 넣고 고양이 오류를 기록하십시오. –

+0

코드를 게시하고 logcat –

+0

몇 가지 코드를 보여줄 수 있습니까? OnItemClickListener 내부에있는 것과 같습니다. 그리고 아마도 오류를 표시하는 스택 추적? – Siebe

답변

0

arg0.getAdapter().getItemId(arg2)arg2로 대체해야 ARG2 때문에, 심지어 여기

가 업데이트 코드 할 수 있는지 알고 싶어 클릭 된 요소의 위치입니다. 배열의 요소를 요소의 위치가 아니라 요소의 ID로 가져 오려고하기 때문에 ArrayIndexOutOfBoundsException이 발생합니다! 요소의 ID는 예를 들어 100203102031230 일 수 있습니다.

+0

예가 지금 고쳐졌습니다. 클릭 한 항목을 번호와 연결하려고했는데 그 번호는 그 번호에서 보낸 메시지로 번호를 매기려고했습니다. – user2409569

관련 문제