2012-01-28 2 views
0

я все еще получаю, «Тип OnDemandAndAutomatic_Activity должен реализовать унаследовали абстрактный метод View.OnClickListener.onClick (View)»унаследованный метод, кажется, отреклась от своего предка

хотя я реализовал метод в два места (помещены в оба места через «Quick Fix»).

Это мой код:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class OnDemandAndAutomatic_Activity extends Activity implements View.OnClickListener { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.ondemandandautomatic_activity); 

     // try commenting the button code out to see if that lets it run... 
     Button buttonAuthorizeUsers = (Button) findViewById(R.id.buttonAuthorizeUsers); 
     buttonAuthorizeUsers.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent configure = new Intent(OnDemandAndAutomatic_Activity.this, Configure_Activity.class); 
       OnDemandAndAutomatic_Activity.this.startActivity(configure); 
      }}); 
    } 

/* @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Intent configure = new Intent(OnDemandAndAutomatic_Activity.this, Configure_Activity.class); 
     OnDemandAndAutomatic_Activity.this.startActivity(configure); 
    }*/ 

} 

ответ

2

С OnDemandAndAutomatic_Activity требования к реализации View.OnClickListener, вам необходимо иметь onClick() реализации, которые вы комментировали, в противном случае он не будет компилироваться.

Кроме того, вы отдельно в настоящее время создает анонимный внутренний экземпляр класса из View.OnClickListener, что вы передаете в setOnClickListener(). Ему также потребуется реализация onClick().

Если вы думаете, что вы должны только один из них, а затем либо удалить implements View.OnClickListener из вашего объявления класса или прохода this в setOnClickListener().

+0

Когда я просто сохраняю «автономный» onClick() и меняю код на «buttonAuthorizeUsers.setOnClickListener (this);» виджеты в форме не отображаются. Если я прокомментирую эту строку, они будут отображаться, но, конечно, кнопка не делает ничего ... (Catch 22) –

+0

@ClayShannon: Убедитесь, что у вас на самом деле есть кнопка 'buttonAuthorizeUsers'' в вашем макете' ondemandandautomatic_activity.xml' ресурс. Единственная ситуация, о которой я могу думать, будет иметь симптомы, которые вы описываете, - это если вы получаете 'NullPointerException', потому что' buttonAuthorizeUsers' не существует. Это должно поднять диалоговое окно «Сила закрытия», если у вас нет какого-либо глобального обработчика исключений, который будет использовать ошибку, не сообщая вам об этом. – CommonsWare

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