我希望根据单击的其他布局中的哪个按钮获取文本(我有按钮1和按钮2)我不能执行if子句声明,因为它无法识别按钮。
答案 0 :(得分:3)
您可以将不同的设置设置为不同的值(例如,如果您单击button1使其值为1或者2)将该整数变量作为意图传递给上一个活动并使用GetExtras()来检索整数变量...现在使用IF条件来确定单击了哪个按钮
public void onClick(View view) {
int code;
switch(view.getId()){
case R.id.button1:
code=1;
break;
case R.id.button2:
code=2;
break;
}
Intent i = new Intent(this, ResultActivity.class);
i.putExtra("yourcode", code);
startActivityForResult(i, REQUEST_CODE);
}
现在回到旧的活动
。getIntent()getExtras( “yourcode”)的toString();检索它
答案 1 :(得分:2)
如果你有Activity
A(有按钮),Activity
B和
你从A开始B:你可以通过A选择你的选择
在开始B时捆绑:
Intent intent = new Intent(A.this, B.class);
intent.putExtra("selection_of_button_at_A", selectionOfButtonAtA);
startActivity(intent);
并以B的onCreate
方法获得该值:
getIntent().getStringExtra("selection_of_button_at_A");// sample for string
但如果您的B未从A开始,那么您可以存储您的选择 在SharedPreferences(当在A处完成选择时):
SharedPreferences prefs =A.this.getSharedPreferences("com.your_app", Context.MODE_PRIVATE);
prefs.edit().putString("selection_of_button_at_A", selectionOfButtonAtA).commit();
现在,您可以在您的任意位置点击按钮的状态 应用
SharedPreferences prefs = B.this.getSharedPreferences("com.your_app", Context.MODE_PRIVATE);
String selectionOfButtonAtA = prefs.getString("selection_of_button_at_A");
答案 2 :(得分:1)
如果你只需要点击你点击activity1的按钮就可以进入activity2,我建议你这样做: 将Activity1作为当前活动,将Activity2作为调用活动。
在活动2中声明为public static final String EXTRA_IS_BUTTON_ONE = "isButtonOne"
。使用常量值可以保证使用相同的String,从而使代码更具可读性,并减少错误的空间。此外,根据Android Performance Guidelines
创建一个新的Intent以转移到活动1->中的activity2。
Intent intent = new Intent(Activity1.this,Activity2.class);
创建布尔值是按钮1,用于放入意图,声明单击了哪个按钮(单击了button1 - > true,单击了button2 - > false) - >
intent.putExtra(Activity2.EXTRA_IS_BUTTON_ONE,isButtonOne);
接收意图并获取布尔值 - >
boolean isButtonOne = getIntent().getBooleanExtra(EXTRA_IS_BUTTON_ONE,false);
(如果您未将额外费用传递给活动,则错误是默认情况。)
,您可以使用布尔值来决定
希望我能帮忙,如果有什么不清楚,请随时提问。
答案 3 :(得分:0)
使用this。它指的是片段,但它对于活动来说是一样的。 基本上,您在一个活动中创建一个接口,并在另一个活动中调用它。就这么简单。
答案 4 :(得分:0)
简单来说:
使用startActivityForResult
方法。
明确解释:
A为结果启动B.
B处理点击事件并设置结果,结果将返回A。
A收到结果。
有关详细说明甚至示例代码段,请参阅Android Developers,它提供了一个很好的示例。
答案 5 :(得分:0)
你不能在off-course中做一个if子句,但你可以做的是在点击一个活动时使用Intent并在intent extra中添加一个特定的布尔值。
另一种方法是在点击按钮时从第一个活动发送广播,并从接收者的任何地方处理它。
主要的想法是意图是你的方式。