2016-07-21 63 views
-2

我有一個數組(在這裏稱爲arrayMain),當添加一個項目時需要保存,並在應用程序啓動時加載。我已經深入研究了這個問題,看到使用gson和SharedPreferences之類的解決方案,但都沒有在我的程序中工作。我相信這些不起作用,因爲解決方案假設您沒有將其放入MainActivity中,而是放在另一個類中。如何從Android中的MainActivity保存ArrayList?

我對編程非常陌生,現在仍在學習。因此,請包括我將要做的所有事情(包括導入東西等),因爲我不太清楚這一切。因爲我不知道我的很多代碼如何交互,所以我幾乎包含了所有代碼,這樣我就不會遺漏任何東西。感謝您的幫助。

代碼:

public class MainActivity extends AppCompatActivity { 

public static ArrayAdapter<String> mItemViewerAdapter; 

public static ArrayList<String> arrayMain = new ArrayList<String>(); 


@Override 
protected void onCreate(Bundle savedInstanceState) { 


// Get ArrayList 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    if (savedInstanceState == null) { 

     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new PlaceHolderFragment()).commit(); 
    } 


    // *** POPUP field (that I left out) that returns StringMain *** 
     ArrayMain.add(StringMain); 

// Set ArrayList 

public static class PlaceHolderFragment extends Fragment { 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     mItemViewerAdapter = 
       new ArrayAdapter<String>(
         getActivity(), 
         R.layout.list_item_itemList, 
         R.id.list_item_itemList_textview, 
         arrayMain 
       ); 

     View rootView = inflater.inflate(R.layout.fragment_main, container, false); 

     ListView listView = (ListView) rootView.findViewById(R.id.listview_ItemList); 
     listView.setAdapter(mItemViewerAdapter); 
     return rootView; 

    } 

} 

} 
+0

爲什麼不把'arrayMain'保存在數據庫中? –

回答

0

首先,你必須瞭解的Json的概念。如何將字符串轉換爲json,反之亦然。如何使用json數組和json對象。 然後你會發現它非常簡單的方法來將json「string」數據存儲在共享首選項中。從共享首選項獲取字符串數據,並根據需要將其轉換爲json Arrray或對象。 在要將數據加載到數組列表的類中使用此數據。 這不是直接執行,你必須考慮, 你想要存儲的數據以及如何使用存儲的數據在你的班級。

相關問題