我在实现 Android 应用程序时遇到问题。 我制作了 baseActivity,它是其他应用程序和其他应用程序的基础。
这些是我的代码。
首先是BaseActivity.java
public class BaseActivity extends Activity {
protected void onCreate(Bundle savedInstanceState,int layoutId) {
super.onCreate(savedInstanceState);
setContentView(layoutId);
Button menuBtn = (Button)findViewById(R.id.menuBtn);
menuBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("bss","menu");
}
});
}
}
还有一个是MainActivity.java
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState,R.layout.activity_main);
setContentView(R.layout.activity_main);
}
}
现在我有一个问题!当我点击菜单按钮时,点击监听器没有 Action 。它没有打印日志消息和任何操作。所以,我在申请时遇到了问题。是否与生命周期相关或如何解决问题。
最佳答案
我不喜欢你强制事情的方式,但如果你想让它以这种方式工作,你必须删除 setContentView(R.layout.activity_main);
来自 MainActivity
, 那是因为你再打一个电话setContentView(R.layout.activity_main);
在 sublcass 中,Activity
的 View 层次结构将重新创建使您在父类(super class)中所做的无效
关于android继承activity(Base - Main activity),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22321770/