我知道调用新活动的东西,并使用putExtra和getExtra函数将对象值从一个活动传递到另一个活动。但我想在不调用的情况下传递值并启动新活动。可能吗 ? 如果是,请告诉我如何做到这一点?
答案 0 :(得分:2)
您还可以使用Application类声明全局变量
class Globalclass extends Application {
private String myState;
public String getState(){
return myState;
}
public void setState(String s){
myState = s;
}
}
class TempActivity extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
更新:
查看这个漂亮的教程,了解如何做到这一点。
答案 1 :(得分:1)
为此您可以使用static variable
或SharedPreferences
,或者如果数据量很大,则可以使用SQlite
。
答案 2 :(得分:1)
您可能希望使用handler的handleMessage()并在消息中传递该对象。
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
}
};
然后你可以调用handler.handleMessage(msg),你可以将任何对象分配给msg.onj
答案 3 :(得分:1)
您可以使用像SQLite这样的数据库的帮助,或者您可以使用Constant类概念,您可以在其中创建公共静态变量并将数据存储在一个活动中并访问其他活动。希望这对您有帮助。
答案 4 :(得分:1)
有很多方法可以将值传递给活动:
Intent
使用FLAG_ACTIVITY_REORDER_TO_FRONT
。在这种情况下,将为已启动的活动调用onNewIntent()
方法。BroadcastReceiver
。我认为通过更多方式传递参数并不是很困难。