0

私のアプリケーションでは、リストビューにいくつかの値があり、リストアイテムをクリックすると、データベースから値を取得し、配列リストのインテントを使用して渡します

ArrayList<String> s = new ArrayList<String>();
            s = mDbHelper.fetchDetails(appName);
            // s.add(app_formno);
            /*
             * for(int i =0; i<Data.size();i++){ s.add(Data.get(position));
             * System.out.println(Data.get(position)+"*****"+i); }
             */
            prefEditor.putBoolean("gotobundle", true);
            prefEditor.commit();

            startActivity(new Intent(ListViewDetails.this,
                    ApplicationManagement.class).putExtra("list", s));

タブウィジェット(TAB 1)にあるeバンドルの配列リストを取得しています。

protected void onResume() {
    super.onResume();
    settings = getSharedPreferences("LandTshare", MODE_PRIVATE);
    prefEditor = settings.edit();

    boolean bool = settings.getBoolean("gotobundle", false);
    if (bool == true) {
        Bundle b = getParent().getIntent().getExtras();
        // ArrayList<String> bundlevalue = new ArrayList<String>();
        bundlevalue = new ArrayList<String>();
        if (b != null) {
            bundlevalue = b.getStringArrayList("list");

このコードは、タブ 1 にそれぞれの値を出力しますが、タブ 2 に移動すると、バンドル内の値が空になり、アプリケーション フォースが終了します。以下はタブ 2 のコードです。

protected void onResume() { 
    super.onResume();
    boolean bool = settings.getBoolean("gotobundle", false);
    if(bool == true){
            if (Applicant.bundlevalue.size() > 124 == true){
            for (int i = 125; i <= 146; i++)
                System.out.println(Applicant.bundlevalue.get(i));

            if (Applicant.bundlevalue.get(125).equalsIgnoreCase("Yes")) {
                rg_existin1.check(R.id.rYes);
            } else {
                rg_existin1.check(R.id.rNo);
            }

ここでの問題は何ですか?? 私は理解できないようです!助けてください!

4

0 に答える 0