我需要帮助完成我现在正在建设的第一个项目。
我的项目包含三项活动:
我想...... 当我从主要活动中点击Annonce按钮时,Android会将我带到第二个活动,与另一个按钮(索引)相同,当然我可以返回到主要活动。
我的main.Java文件是:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
annonce = (Button)findViewById(R.id.Annonce);
index = (Button)findViewById(R.id.Index);
annonce.setOnClickListener(this);
index.setOnClickListener(this);
}
public void onClick(View src) {
Intent annonce = new Intent(this, Annonce.class);
startActivity(annonce);
Intent index = new Intent(this, Index.class);
startActivity(index);
finish();
}
}
答案 0 :(得分:1)
你做什么的?您正在尝试按一个按钮跳转到2页。你应该删除一个Intent和你的第二个错误,你正试图跳到Bottons - 它有趣=)
答案 1 :(得分:0)
你很近,但onClick
代码可能存在问题。
试试这个而不是你拥有的东西:
public void onClick(View src) {
if (src == annonce){
Intent annonce = new Intent(this, Annonce.class);
startActivity(annonce);
}else if (src == index){
Intent index = new Intent(this, Index.class);
startActivity(index);
}
}
两个更改:IF / Else语句确定推送了哪个视图(您尝试启动两个活动,但您只想根据哪个按钮启动一个)。另外,不要在这里调用finish()。你在这里不需要它,那条线会杀死你的应用程序!
此外,将来发布更多有关正在发生的事情的信息!我假设应用程序关闭时按任何按钮(因为该调用完成())但下次告诉我们!
答案 2 :(得分:0)
你错误的创建OnClickListener
写下这段代码:
OnClickListener annonceBtnClick= new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent annonce = new Intent(getApplicationContext(), Annonce.class);
startActivity(annonce);
}
};
与索引按钮
相同答案 3 :(得分:0)
一些事情:
finish()
。如果要设置点击处理程序,则需要确保所点击的视图是您打开活动的视图。
这意味着
public void onClick (View src) {
switch (src.getId()) {
case R.id.annonce_button:
startActivity(new Intent("com.myPackage.myActivity");
break;
case R.id.index_button:
startActivity(new Intent("com.myPackage.myIndexActivity");
break;
}
}
您点击的每个ID都有一个案例,确保您只是为正确的按钮点击启动活动。
当然,上面的代码假定您已在按钮上设置了ID。这样,这些ID与R.id.XXXXXXX匹配,您可以使用它们进行快速检查。
答案 4 :(得分:0)
我会更新main.xml文件并将这些行添加到按钮:
android:clickable="true"
android:onClick="annonce_button_handler"
和
android:clickable="true"
android:onClick="index_button_handler"
然后我会在我的主Activity中创建这些方法,如下所示:
public void annonce_button_handler(){
Intent annonce = new Intent(this, Annonce.class);
startActivity(annonce);
}
public void index_button_handler(){
Intent index = new Intent(this, Index.class);
startActivity(index);
}
这将允许您拥有一个不实现onClickListener的活动,并且仍允许您在代码中实现多个可单击的内容。顺便说一句,这应该适用于放在.xml文件中的几乎任何元素。
希望这有帮助!
答案 5 :(得分:0)
可能为时已晚......但仍想添加
别忘了在Manifest中添加你的两个Activity
答案 6 :(得分:0)
我希望您创建了自己的活动并注册了清单文件。
现在: -
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
annonce = (Button)findViewById(R.id.Annonce);
index = (Button)findViewById(R.id.Index);
annonce.setOnClickListener(this);
index.setOnClickListener(this);
}
public void onClick(View src)
{
if(src == annonce )
{
//start activity here
Intent intent1 = new Intent(this,activityToSwitch);
startactivity(intent1);
}
if(src == index)
{
//start activity here
Intent intent2 = new Intent(this,activityToSwitch);
startactivity(intent2);
}
}