繁体   English   中英

通过3个不同的活动访问相同的数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM