扩展另一个活动类,并将监听器代码重用于视图,如按钮等

时间:2014-08-15 04:11:50

标签: android android-activity extends code-reuse

我创建了一个名为ButtonActivity的活动,它有很多按钮和监听器。我想创建另一个活动TwoButtonsActivity来扩展ButtonActivity,以便我可以重用我创建的监听器。 TwoButtonsActivity类似于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);




}

}

1 个答案:

答案 0 :(得分:0)

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

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




}

}

并在您设置按钮android:onclick="mylistener1"标签的TwoButtonsActivity(main)布局中 并且您应该设置为您希望它使用此侦听器的任何按钮或视图