在新活动中的第二个onClick监听器

时间:2015-06-30 07:43:51

标签: android android-studio onclick onclicklistener

我刚开始学习Java。我知道一些C ++,但你知道,我只是一个新手。我的按钮有问题。我是一个主要的活动有3个按钮与onClick发现切换。通过单击其中一个按钮,您将重定向到我需要创建新按钮的另一个活动。

负责MainScreen按钮的代码如下所示(并且可以正常工作):

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);
}

public void OnClick(查看视图){     点击后会发生什么     }

我知道,这个问题在重写和扩展方面存在,但不知道,为什么编译器会让它被编译。

如果有人有任何想法,我将不胜感激。

PS。我不需要答案,只需要一点,哪些是错的。

1 个答案:

答案 0 :(得分:2)

public class macierz_2x2 extends MainScreen implements View.OnClickListener{

MainScreen已实现View.OnClickListener。将其从班级定义中删除。

public class macierz_2x2 extends MainScreen {

就够了。您可以覆盖onClick on macierz_2x2活动

@Override
public void onClick(View view) {
    switch(view.getId()) {
      R.id.button_2x2:
        // do something
        break;
      default:
        super.onClick(view);
        break;
     }
}