我有一個數組(在這裏稱爲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;
}
}
}
爲什麼不把'arrayMain'保存在數據庫中? –