我有一個抽象Activity
因爲我的大部分活動都有着相同的菜單:抽象的活動引起findViewById()不工作
public abstract class ActivityBase extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menubar, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
//...
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//...
}
}
現在,當我使用類(繼承自它),該findViewById()
方法不再工作了。如果我在那個特定的類中繼承它,並不重要,一旦它在繼承樹中的某個地方,它就不再工作了。例如:
public class SomeOther extends ActivityBase {
}
public class Home extends Activity {
@Override
public void onCreate (Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.button); // fails, NullPointerException
}
這可能是什麼原因,更重要的是,我該如何解決這個問題?
它是如何失敗?該按鈕爲空或什麼? castexception?粘貼logcat –
按鈕爲空。 – Femaref
是否位於同一個main.xml文件中的按鈕? – user370305