我在我的应用程序中为每个 View 都包含了一个标题 View 。并且还可以在答案的帮助下对该标题实现按钮点击等:
但我的要求是点击按钮,它应该启动另一个 Activity 。当我点击按钮时,它突然停止了。但其他 Activity 如 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);
}
});
}
请帮助我的 friend ....
已编辑
当我这样定义时:
Intent loginIntent=new Intent(Home.this,login.class);
然后它显示错误:
“在范围内无法访问类型 loginHome 的封闭实例”
如果我给:
当我这样定义时:
Intent loginIntent=new Intent(Header.this,login.class);
然后它捕获了 NullPointerException
最佳答案
您是否通过插入新 Activity 来编辑 manifest.xml
?
喜欢:
<activity android:name=".NewActivityName" />
关于android:包含布局时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407454/