[英]Access same data through 3 different activities
我是android开发的新手,但我会尽力而为。
我想创建一个应用来为2个参加比赛的纸牌游戏评分:
活动1:竞标
活动2:评估游戏结果
活动3:显示包含球队得分的列表(2列)
从Activity1重新开始,直到有人赢了。
因此,我让activity1将数据传递给activity2(使用带有意图的putExtra),Activity2评估了出价并计算了Team1和Team2的得分。 该数据将传递给activity3。
在这里,我想显示一个列表,其中包含每一轮的得分。
但是,当我再次进入activity1时,该在哪里/如何保存该列表数据?
我已经在和一个新类一起玩,该类应该扩展应用程序,但是我不知道如何实例化该类,以及如何使每个活动都可以访问它?
这是我的manifest.xml => extradata作为新类:
<application
android:allowBackup="true"
android:icon="@drawable/notrump"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="extradata">
<activity
此类的设置如下:
public class extradata extends Application{
public static ArrayList<scoredata> scoring = new ArrayList<scoredata>();
@Override
public void onCreate()
{
super.onCreate();
}
和scoredata类看起来像这样:
public class scoredata {
private int mScoreteam1;
private int mScoreteam2;
private String mBidteam1;
private String mBidteam2;
public scoredata(int pScoreteam1, int pScoreteam2, String pBidteam1, String pBidteam2){
mScoreteam1 = pScoreteam1;
mScoreteam2 = pScoreteam2;
mBidteam1 = pBidteam1;
mBidteam2 = pBidteam2;
}
public int getScoreteam1(){
return mScoreteam1;
}
public int getScoreteam2(){
return mScoreteam2;
}
public String getBidteam1(){
return mBidteam1;
}
public String getBidteam2(){
return mBidteam2;
}
public void setScoreteam1(int pScoreteam1){
mScoreteam1 = pScoreteam1;
}
public void setScoreteam2(int pScoreteam2){
mScoreteam2 = pScoreteam2;
}
public void setBidteam1(String pBidteam1){
mBidteam1 = pBidteam1;
}
public void setBidteam2(String pBidteam2){
mBidteam2 = pBidteam2;
}
那么,现在在应用程序启动时我是否创建了一个分数数据的数组列表? 如果是这样,我该如何访问字段或从活动中添加项目?
您可能希望将一个类实现为数据存储,并将其设为单例,以便您的3个活动中的每一个都可以访问数据并进行修改。 我不知道这是否是解决您问题的最佳解决方案,但这是一个简单的解决方案。
如果只想将新添加的值从活动2传递到活动1,则可以使用意图。 使用startactivityforesult(intent,requestcode)调用第二个活动。 获取新值后,使用setresult()将活动2的结果传递给我们。
在activity1的onActivityResult()函数中更新您的arraylist(即添加新项)。 使用adapter.setnotifychanged使更新反映在列表视图中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.