2012-03-26 70 views
0

我有以下场景:android up,兼容Android 1.6及更高版本开始。在所有活动的底部,我有一组只能启动活动的ToggleButton。不要问我为什么,这是请求:)有了这些按钮做同样的事情在我以为这样所有的屏幕:重复使用Android中的多个活动视图

  1. 把布局中的一个XML文件,并在我的所有活动布局
  2. 创建一个扩展Activity并为所有按钮分配onClick方法的类
  3. 选中ToggleButton后,将所有其他按钮设置为checked =“false”并执行该按钮的操作。

当我重写onCreate()时,我卡在了我的BaseActivity上。如何获取我的按钮并将onClick监听器分配给他们?

public class BaseActivity extends Activity { 
    private ToggleButton menuHome; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
      //this does not work as it cannot find R.id.menu_home) 
     menuHome = (ToggleButton) findViewById(R.id.menu_home); 
    } 
} 

回答

1

在您的其他扩展BaseActivity的活动中,查看您的OnCreate方法。它看起来像这样吗?

public class YourActivity extends BaseActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     base.Oncreate(saveInstanceState);  

     setContentView(R.layout.YourLayout); 

     // Other code here... 
    } 
} 

它与订单有关...您尚未设置内容视图,因此您的切换按钮不存在。试试这个:

public class YourActivity extends BaseActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     setContentView(R.layout.YourLayout); // Set your content view first. 

     base.Oncreate(saveInstanceState);  



     // Other code here... 
    } 
} 
0

你要调用的setContentView(R.layout.your_layout)其中your_layout是包含按钮R.id.menu_home布局。现在你没有为活动提供布局,所以没有层次结构去搜索按钮。