我无法运行在另一个类上实现onclick监听器的按钮

时间:2017-07-21 02:09:06

标签: android android-layout android-fragments

有人可以告诉我如何工作吗?

主要活动

class MyListener implements View.OnClickListener{
    private Context context;

    @Override
    public void onClick(View view) {
        Toast.makeText(context, "You click me!", Toast.LENGTH_SHORT).show();
    }
}

我的听众课程

public class MainActivity extends AppCompatActivity implements View.OnClickListener 

另外,如果我在这里实现Click监听器,我需要将MainActivity声明为abstract或在OnClick上实现抽象方法

public class ActivityMain extends Activity implements View.OnClickListener {

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

    b.setOnClickListener(ActivityMain.this);

    @Override
    public void onClick (View view){
        Toast.makeText(ActivityMain.this, "You click me!", Toast.LENGTH_SHORT).show();
    }
  }

}

与上述抽象/实施相同的错误

.nav-not-active

1 个答案:

答案 0 :(得分:0)

您不必实施View.OnClickListener

你可以这样做。

class MyListener implements View.OnClickListener{

    private Context context;

    public MyListener(Context context) {
        this.context = context;
    }

    @Override
    public void onClick(View view) {
        Toast.makeText(context, "You Click Me!", Toast.LENGTH_SHORT).show();
    }
}

另一个点击区域。

new MyListener(MainActivity.this).onClick(view);

你可以解决它。