2010-12-14 9 views
0

onclick 수신기가 구현되지 않고 관련 코드가 없으면 활동이 정상적으로 작동합니다. 그러나 onclick 청취자가있을 때 그것은 단지 강제로 닫습니다. 여기 Android : onclicklistener 강제 종료?

내 코드입니다 :

public class Names extends ListActivity implements OnClickListener { 
    private static String[] FROM = { _ID, NAME, ADDRESS, AGE }; 
     private static int[] TO = { R.id.rowid, R.id.name, R.id.address, R.id.age}; 
     private static String ORDER_BY = NAME + " DESC"; 


     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      Cursor cursor = getNames(); 
      showNames(cursor); 

     // Set up click listeners 
      View addButton = findViewById(R.id.add_button); 
      addButton.setOnClickListener(this);   


     } 


     private Cursor getNames() { 
      // Perform a managed query. 
      return managedQuery(CONTENT_URI, FROM, null, null, ORDER_BY); 
     } 

     private void showNames(Cursor cursor) { 
      // data binding 
      SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
       R.layout.names, cursor, FROM, TO); 
      setListAdapter(adapter); 
     } 


     public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.add_button: 
       Cursor cursor = getNames(); 
       showNames(cursor); 
       break;      
     } 
    } 
} 
내가 잘못한 것을

? 당신의 도움에 많은 감사드립니다.

+0

이것이 http://stackoverflow.com/questions/3545007/problem-with-android-button-setonclicklistener와 관련이 있다고 생각합니다. –

답변

0

이 줄에서 보기 addButton = findViewById (R.id.add_button); addButton.setOnClickListener (this);

보기를 사용하는 대신 사용중인보기를 지정하십시오. 예 : - 버튼 addButton = (버튼) findViewById (R.id.add_button); 님이 어떤 캐스트를 보지 않았습니까? 이벤트의 원하는 onclicklistener가 표시됩니다.

관련 문제