我在应用程序的每个视图中都包含一个标题视图。并且还可以在答案:
的帮助下对此标题实施按钮点击等但我的要求是按钮点击,它应该开始另一个活动。当我点击按钮时,它突然停了下来。但其他活动如Toast,button.setText()等在按钮点击时工作正常。
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();
//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
答案 0 :(得分:1)
您是否在插入新活动时修改了manifest.xml
?
像:
<activity android:name=".NewActivityName" />
答案 1 :(得分:0)
尝试使用构造函数中的上下文变量:
loginIntent.setClass(Header.this.context,login.class);