我做了一个申请" Quiz",它有4个活动。主活动将带有您姓名的String从EditText发送到带有第一个问题的活动。我在这里遇到问题,因为我不知道如何将此字符串立即发送到主要活动的最终活动,但不会进行最终活动。我想从主要活动的第一个问题转到活动,然后转到第二个问题的活动,最后我想去最后的活动。 谢谢你的帮助!
答案 0 :(得分:0)
您可以使用静态字段传递数据。
在FinalActivity class
内,您可以添加以下变量:
private static String NAME = "";
使用以下getter和setter:
public static String getName(){
return NAME;
}
public static void setName(String name){
NAME = name;
}
答案 1 :(得分:0)
您可以在Application类中使用getter setter,这样您就可以从任何地方获取字符串数据。这不是唯一的方法,但我认为这也是一种简单的方法。
public class MyApplication extends Application {
private String someVariable;
public String getSomeVariable() {
return someVariable;
}
public void setSomeVariable(String someVariable) {
this.someVariable = someVariable;
}
}
在清单
中添加此内容<application
android:name=".MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
在您的活动中,您可以获取并设置变量:
/ set
((MyApplication) this.getApplication()).setSomeVariable("foo");
// get
String s = ((MyApplication) this.getApplication()).getSomeVariable();
可能对您有所帮助的一些网址Android global variable
您也可以使用共享偏好,但根据我们的要求,我不建议您
答案 2 :(得分:0)
您可以根据自己的要求使用Broadcast Receiver
。在您要从中发送数据的活动中,请执行以下操作:
Intent intent = new Intent();
intent.setAction("fourthactivity");
sendBroadcast(intent);
在第四项活动中,制作一个broadcast receiver
来接收你的意图:
public class IncomingReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("fourthactivity")) {
System.out.println("GOT THE INTENT");
}
}
}
告诉我这是否有效,如果适合你,请点击右键。
答案 3 :(得分:0)
您可以使用SharedPreference存储从一个活动到另一个活动的答案,然后比较FinalActivity中的所有答案,从而减少复杂的编码,您将获得所需的结果。