Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 扩展另一个活动类,并将侦听器代码重用到按钮等视图_Android_Android Activity_Extends_Code Reuse - Fatal编程技术网

Android 扩展另一个活动类,并将侦听器代码重用到按钮等视图

Android 扩展另一个活动类,并将侦听器代码重用到按钮等视图,android,android-activity,extends,code-reuse,Android,Android Activity,Extends,Code Reuse,我创建了一个名为ButtonActivity的活动,它有很多按钮和侦听器。我想创建另一个活动TwoButtonActivity来扩展ButtonActivity,以便可以恢复我创建的侦听器。 TwoButtonActivity与ButtonActivity类似,但变化不大。 这可能吗 当我执行代码时,我发现扩展活动没有响应按钮单击 以下是基本活动: public class ButtonActivity extends Activity { int count = 0; @Override p

我创建了一个名为ButtonActivity的活动,它有很多按钮和侦听器。我想创建另一个活动TwoButtonActivity来扩展ButtonActivity,以便可以恢复我创建的侦听器。 TwoButtonActivity与ButtonActivity类似,但变化不大。 这可能吗


当我执行代码时,我发现扩展活动没有响应按钮单击

以下是基本活动:

public class ButtonActivity extends Activity {
int count = 0; 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            button.setText("Got Pressed:" + ++count);
            }
    });
}

}
以下是扩展活动:

public class TwoButtonsActivity  extends ButtonActivity {


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




}

}

您可以使用下面相同的侦听器进行活动

  public class ButtonActivity extends Activity {
    int count = 0; 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);

    }
    public void mylistener1(View v)
    {
    switch(v.getid()){
    case R.id.button:{
    //do somthings
    }break;
}}

public class TwoButtonsActivity  extends ButtonActivity {


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




}
}

在TwoButtonActivity(main)的布局中,您可以在按钮的标签中设置
android:onclick=“mylistener1”

您应该设置为您想要的任何按钮或视图使用此侦听器

是的,这是可能的,您的代码应该可以工作。此外,亲自尝试应该比在此处等待答案更快,因此,除非您的代码确实有问题,否则我将投票结束此问题。当我执行代码时,我发现扩展活动没有响应按钮单击。您确定引用的是相同的按钮ID吗?如果您对setContentView(R.layout.main)进行注释; 在TwoButton活动中,您的代码将运行,您不需要使用我的代码