私のアプリケーションでは、リストビューにいくつかの値があり、リストアイテムをクリックすると、データベースから値を取得し、配列リストのインテントを使用して渡します
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);
}
ここでの問題は何ですか?? 私は理解できないようです!助けてください!