android:包含布局时的问题

时间:2010-12-10 09:42:54

标签: android layout include

我在应用程序的每个视图中都包含一个标题视图。并且还可以在答案:

的帮助下对此标题实施按钮点击等

Include in android using java

但我的要求是按钮点击,它应该开始另一个活动。当我点击按钮时,它突然停了下来。但其他活动如Toast,button.setText()等在按钮点击时工作正常。

Home.class

 TextView txtMarket = (TextView) findViewById(R.id.txtMarket);
 TextView txtNews = (TextView) findViewById(R.id.txtNews);
 ImageButton imgLogout=(ImageButton)findViewById(R.id.imgLogout);
 ImageButton imgDashBoard=(ImageButton)findViewById(R.id.imgDashBoard);
 Header objHeader=new Header(imgLogout,txtMarket,txtNews,imgDashBoard,getBaseContext());
 objHeader.init();

Header.class

 //in Header class
 public Header(ImageButton btnLogin,TextView txtMarket,TextView txtNews,ImageButton imgDashBoard,Context context) 
 {     
          this.btnLogin = btnLogin; 
     this.txtMarket = txtMarket;     
     this.txtNews = txtNews; 
     this.imgDashBoard = imgDashBoard; 
     this.context=context;
 }
 public void init() 
 {  
      btnLogin.setOnClickListener(new View.OnClickListener()
 {              
           public void onClick(View view)
      {
            Intent loginIntent=new Intent();                               Toast.makeText(context, "u clicked the button", 1).show();
       loginIntent.setClass(view.getContext(),login.class);
       startActivity(loginIntent);
           }
});
}

请帮帮我朋友....

被修改

当我定义时:

Intent loginIntent = new Intent(Home.this,login.class);

然后显示错误:

“在范围中无法访问loginHome类型的封闭实例”

如果我给的是:

当我定义时:

Intent loginIntent = new Intent(Header.this,login.class);

然后它捕获了NullPointerException

2 个答案:

答案 0 :(得分:1)

您是否在插入新活动时修改了manifest.xml? 像:

<activity android:name=".NewActivityName" />

答案 1 :(得分:0)

尝试使用构造函数中的上下文变量:

loginIntent.setClass(Header.this.context,login.class);