2011-07-04 9 views
1

タブクリックで再度読み込むときに、コードをonResume()メソッドに挿入します。タブから最初のタブをクリックしてタブを変更して再度ロードすると、強制的に閉じられ、「配列インデックスが境界外の例外」になります。私はそれが以前に読み込まれたデータを削除しないので、それが例外が発生しないようにタブのクリックで新しいデータを削除または再読み込みする方法だと思いますか?これは、新しいデータをロードする前に、古いデータを削除する方法をonResume()経由で行うことを意味しますか?ビューでタブ "ontabchange()"を変更するとonresume()メソッドが実行されます

protected void onPause(){ super.onPause();

} 


protected void onResume() 
{ 

    super.onResume(); 

    **new ProgressTask6().execute();** 

} 

private class ProgressTask6 extends AsyncTask<String, Void, Boolean> { 
private ProgressDialog dialog; 
      private Context context; 
      @Override 
      protected void onPreExecute() { 
       dialog = new ProgressDialog(OpeningToday.this); 
       dialog.setMessage("Processing..."); 
       dialog.setIndeterminate(true); 
       dialog.setCancelable(false); 
       dialog.show(); 
     } 

      @Override 
     protected void onPostExecute(final Boolean success) { 

       if (dialog.isShowing()) 
       { 
       dialog.dismiss(); 
       setListAdapter(new MyAdapter(OpeningToday.this)); 
      } 


    } 
     @Override 
     protected Boolean doInBackground(String... args) { 
       try{ 


     } catch (Exception e){ 
      Log.e("tag", "error", e); 
      return false; 
     } 
     return null; 
     } 
     class MyAdapter extends BaseAdapter implements OnClickListener 
     { 


        }   

        @Override 
        public int getCount() { 
         }      } 

        /* Not implemented but not really needed */ 
        @Override 
        public Object getItem(int position) { 
         return null; 
        } 

        /* Not implemented but not really needed */ 
        @Override 
        public long getItemId(int position) { 
         return 0; 
        } 

        @Override 
        public View getView(int position, View ConvertView, ViewGroup parent) 
        { 
         View v = inflater.inflate(R.layout.listitem_layout, parent, false); 
         // Log.i("array galoijewdh..",keywordresulttab.array_galleryname[position]); 
         Log.i("saurabh trivedi","saurabh trivedui"); 
         // Variables.a=3; 
         String gallerynames = keywordresulttab.array_galleryname[position]; 
         String addresses = keywordresulttab.array_address[position];    
         TextView tv = (TextView) v.findViewById(R.id.barrio); 
         tv.setText(gallerynames); 
         tv = (TextView) v.findViewById(R.id.ciudad); 
         tv.setText(addresses); 
         ((BaseAdapter)(getListAdapter())).notifyDataSetChanged(); 
         return v; 
        } 
       @Override 
        public void onClick(DialogInterface dialog, int which) { 
         // TODO Auto-generated method stub 

        } 

        } 

}

+0

サイトリストとは何ですか?それはあなたの解析されたデータを格納するリストですか? –

+0

クラス私はgetterとsetter methoを持っていて、変数のデータを格納するための配列リストを使用しています..私のqusの部分にもっと行きます。サイトリストクラスも追加しました – SRam

答えて

0

onResume()の反対であるonPause()のインデックスは/削除データを初期化します。 onPause() - (activity lifecycleによる)経験則として

- あなたは反対の方法で必要なものをきれいに -

  • onCreate()からonDestroy()
  • onStart()/onRestart() - onStop()
  • onResume()
+0

こんにちはMByD私はアンドロイドとjavaでuです私はいくつかの詳細についてpls plsmeansどのように応答するために以前の読み込まれたデータを無料にする – SRam

+0

どのようにonPause()のインデックスを初期化/データを削除するには? – SRam

+0

私はあなたがそこで何をしているのか正確にはわからないので、教えにくいです。私はあなたにIMOがどこに置かれているべきかを教えましたが、もっと詳しく知るにはあなたのコードを見る必要があります。 – MByD

関連する問題