2015-06-30 2 views
0

Я только начал изучать Java. Я знаю некоторые C++, но вы знаете, я просто новичок. У меня проблема с кнопкой. В основном я вижу 3 кнопки с включенным ключом onClick. Нажав на одну из кнопок, вы перенаправляетесь на другую активность, где мне нужно создать новую кнопку.Second onClick listener в новом действии

Код отвечает за кнопки В начало выглядит следующим образом (и это работает):

public class MainScreen extends Activity implements View.OnClickListener { 

Button act_2x2, act_3x3, act_4x4; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_screen); 

    act_2x2 = (Button) findViewById(R.id.Activity_2x2); 
    act_3x3 = (Button) findViewById(R.id.Activity_3x3); 
    act_4x4 = (Button) findViewById(R.id.Activity_4x4); 

    act_2x2.setOnClickListener(this); 
    act_3x3.setOnClickListener(this); 
    act_4x4.setOnClickListener(this); 
} 

@Override 
public void onClick(View view) { 
    switch(view.getId()) 
    { 
     case R.id.Activity_2x2: 
      Intent inent1 = new Intent(this, macierz_2x2.class); 
      startActivity(inent1); 
      break; 

     case R.id.Activity_3x3: 
      Intent inent2 = new Intent(this, macierz_3x3.class); 
      startActivity(inent2); 
      break; 

     case R.id.Activity_4x4: 
      Intent inent3 = new Intent(this, macierz_4x4.class); 
      startActivity(inent3); 
      break; 
    } 

И это нормально, я могу нормально войти в новую деятельность, например Activity_2x2. Здесь, в классе 2x2, я создал новый OnClickListener, и когда я нажимаю на него, ничего не происходит. Я сижу здесь в течение двух часов с отладчиком, он говорит, что у меня нет разрешений, но это невозможно, потому что это просто простая кнопка. Я использую Android Studio и просто не знаю, как правильно отлаживать.

Вот определение:

public class macierz_2x2 extends MainScreen implements View.OnClickListener{ 

Button b_2x2; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_2x2); 
    b_2x2 = (Button) findViewById(R.id.button_2x2); 
    b_2x2.setOnClickListener(this); 
} 

общественный недействительный OnClick (View вид) { , что происходит после нажатия }

Я знаю, что эта проблема находится где-то в переопределении и расширении, но не идея, почему компилятор разрешает это компилировать.

Если у кого-то есть идеи, я буду благодарен.

пс. Мне не нужен ответ, просто точка, что не так.

ответ

1
public class macierz_2x2 extends MainScreen implements View.OnClickListener{ 

MainScreen уже реализует View.OnClickListener. Удалите его из определения вашего класса.

public class macierz_2x2 extends MainScreen { 

достаточно. Вы можете переопределить onClick на активность macierz_2x2

@Override 
public void onClick(View view) { 
    switch(view.getId()) { 
     R.id.button_2x2: 
     // do something 
     break; 
     default: 
     super.onClick(view); 
     break; 
    } 
} 
Смежные вопросы