0

みなさん、これでお役に立てば幸いです。私の Q をご覧いただきありがとうございます。次の値を更新する必要があります。

public static int hScoreGen1 = 0; (activity A)

別の活動 (活動 B) から。の値がhScoreGen1アクティビティ A のリストビューに表示されます

//Activity A

public void setList1(){

        HashMap<String,String> temp = new HashMap<String,String>();
        temp.put("catGeneral","Level 1");
        temp.put("score1", String.valueOf(hScoreGen1) + "/10");
        listGeneral.add(temp);
        }

//Activity A    

adapter1 = new SimpleAdapter(
                    this,

                listGeneral,
                R.layout.list_highscore_row,
                new String[] {"catGeneral","score1"},
                new int[] {R.id.text1,R.id.text2}
        );

//Activity A
public static  SimpleAdapter adapter1;

そして、これは値を変更します

Activity B

if (totalCorrect > ScoreScreen.currentScoreCatValue){

                                HighScores.hScoreGen1 = totalCorrect;
                                HighScores.adapter1.notifyDataSetChanged();

                        }

アダプターを静的にするとリークが発生する可能性があると言われました。リスナーの代わりにインターフェイスを作成し、スコアを更新したいアクティビティにこれを実装します。ベース アクティビティでこのリスナー オブジェクトを設定し [null チェックを適用] し、2 番目のアクティビティからリスナーを設定します。これは正しいように聞こえますが、このコード例を見つけることはできません....アイデアがあれば、大歓迎です。

4

1 に答える 1