Android 在活动A到C之间传输数据?
我想把一个整数值从活动A传递到B,再传递到C。A包含卡路里,B指定你如何锻炼,C以默认方式计算你的最终卡路里摄入量;但数据不会传输到活动CAndroid 在活动A到C之间传输数据?,android,Android,我想把一个整数值从活动A传递到B,再传递到C。A包含卡路里,B指定你如何锻炼,C以默认方式计算你的最终卡路里摄入量;但数据不会传输到活动C Intent i = new Intent(getApplicationContext(), ActivityC.class); Bundle extras = new Bundle(); i.putExtras(extras); extras.putDouble("clllo", calories); startActivity(new Intent(
Intent i = new Intent(getApplicationContext(), ActivityC.class);
Bundle extras = new Bundle();
i.putExtras(extras);
extras.putDouble("clllo", calories);
startActivity(new Intent("com.ti7a.fitness.ActivityB"));
然后在activityC中:
double value=1.54354;
Bundle extras = getIntent().getExtras();
if(extras!=null){
value = extras.getDouble("clllo");
}
}
我不知道你是怎么想出来的。在您的第一个代码示例(活动A)中,您从未使用
i
意图或extras
捆绑包。您希望如何将这些转移到活动C?如果您在Eclipse中编码,还应该得到一个“variable never read”警告
您应该首先将值传递给活动B,然后再从活动B传递给活动C。没有办法直接传递这些值(除了将它们存储到文件/数据库,但这对于本用例来说太复杂了)。您是否修改了清单,添加了第二个活动
您可以使用应用程序上下文保存数据 使用应用程序上下文的方法 扩展“应用程序”类并添加一个属性来保存不同活动中需要的不同数据。因此,在您的活动中,您可以访问应用程序上下文并获取数据。由于应用程序上下文是一个单例,所以它在每个活动中都是相同的实例
MyApplication appContext = (MyApplication) getApplicationContext();
appContext.data= YOUR DATA;
在任何其他活动中,您都可以以相同的方式访问该数据
MyApplication appContext = (MyApplication) getApplicationContext();
您还需要添加
android:name=".MyApplication"
添加到清单文件中的“应用程序”标记。是否执行此操作
在活动中
Intent myIntent = new Intent(A.this, C.class);
myIntent.putExtra("clllo", calories);
startActivity(myIntent);
在活动中
Intent mIntent = getIntent();
double cal = mIntent.getDoubleExtra("clllo", 1.54354);
我无法正确理解你的问题。。。告诉我我是否正确:你有3个连续的活动,A,B和C。你想让C从A和B收集信息,对吗?你在活动C中得到了double的值?但您的代码显示您正在发送并启动活动B。请检查?我想将数据从A传递到C,,,,,但在途中,我想从B获得另一个详细信息,以获得最终计算结果C@sttlcu是的,我想通过一个到CHis的应用程序并没有崩溃。如果第二个活动未添加到清单中,则应用程序将崩溃。我想将数据从A传递到C,,,,但在途中,我想从B获取另一个详细信息,以获得C中的最终总计算,但这是可以的,只要我不能将其直接传递到C,,,谢谢,这真的很好,我将尝试它(谢谢印度人是最好的)我有3个活动A B C,,,我想将数据从A传输到Cpass,将值从A传递到B,进行计算,然后将值从B传递到C。