在我的主要活动(应用程序的启动窗口)上,我有Button和Button_1。点击此处的用户将打开Activity_1
无关紧要。两个按钮的Activity_1相同。不同的将来自Activity_1取决于单击哪个按钮必须打开Activity_2或Activity_3。
以下是该方案。
Button -> Activity 1 -> Activity 2
Button_1 -> Activity 1 -> Activity 3
我完成了所有工作,但知道点击了哪个按钮的部分。
Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
startActivity(intent);
}
});
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
startActivity(intent);
}
});
Menu.class
是包含图片和文字的列表视图。如果单击Button
并打开listview,则用户可以单击项目并阅读一些信息。
如果点击Button_1
,则会加载相同的列表视图,当用户点击项目时,应该打开与其他活动不同的信息。
目前,我可以成功开启Menu.class
。在那里我加载了我的listview,我可以将信息传递给下一个活动,但只是一个..
如何根据此按钮存储/知道按下哪个按钮以加载适当的活动。惠特IF
? case
?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
boolean isButton = getIntet().getExtra("isButtonClicked",false);
if(isButton)
{
Intent intent = new Intent(Menu.this, Information.class);
startActivity(intent);
}
else
{
Intent intent = new Intent(Menu.this, Information1.class);
startActivity(intent);
}
// Download JSON File
new DownloadJSONFileAsync().execute();
}
答案 0 :(得分:3)
按下按钮,通过intent.putExtra()方法点击信息到菜单活动,如下所示
Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
intent.putExtra("isButtonClicked",true);
startActivity(intent);
}
});
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
intent.putExtra("isButtonClicked",false);
startActivity(intent);
}
});
并在菜单活动onCreate()方法上按
获取点击的按钮 boolean isButton = getIntent().getBooleanExtra("isButtonClicked",false);
如果isButton值为true,则单击按钮。否则单击button1。然后按
开始新活动 if(isButton)
{
Intent intent = new Intent(Menu.this, Activity2.class);
startActivity(intent);
}
else
{
Intent intent = new Intent(Menu.this, Activity3.class);
startActivity(intent);
}
答案 1 :(得分:1)
您可以轻松使用intent.putExtra("value", true);
和活动1 onCreate方法
boolean val = getIntent().getBooleanExtra("value", false);
并基于val转到活动2或3。
答案 2 :(得分:1)
您可以使用额外内容:
Bundle bundle = new Bundle();
bundle.putInt("btn", 1);
Intent menu = new Intent(this, Menu.class);
menu.putExtras(bundle);
startActivity(menu);
在另一项活动中:
@Override
public void onCreate(Bundle b){
Bundle myBundle = getIntent().getExtras();
if (myBundle.getInt("btn") == 1){
// todos
} else if (myBundle.getInt("btn") == 2){
// todos
}
}