2011-12-16 6 views
0

私はAsyncTaskを使用してRSSからデータを取得しています。進捗状況を表示していますonpreExecuteメソッド、メソッド、およびダイアログを削除する,,, onPostExecuteメソッドのデータを表示する、すべてのことはOKですが、私はバックボタンを処理したいので、ユーザーがデータの解析中に戻るボタンをクリックすると、彼は行くことができますback..but今まで、私は何も戻って押されない場合に発生..:/あなたは、(onCreateDialogで)あなたのダイアログを作成し、それが解約させると、ダイアログが持っているあなたのタスクを通知リスナーでsetOnCancelListenerを呼び出すAsyncTaskを使用してデータを解析しているときに、[戻る]ボタンをクリックすると、ダイアログを削除して前のアクティビティに戻ります。

@Override 
    protected void onPreExecute() { 
     showDialog(DIALOG_PROGRESS); 
    } 

    @Override 
    protected Boolean doInBackground(Void... params) { 
     feedParser = new activity1Parser(Bean.LINK); 

     try { 
      list = feedParser.parse(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
      return false; 
     }   
    } 

    @Override 
    protected void onPostExecute(Boolean result) { 

      activity1.removeDialog(DIALOG_PROGRESS); 

} 

答えて

2

されている除去された。次にonPostExecuteで、削除されていない場合にのみダイアログを削除します。

+0

。ダイアログはデフォルトで戻るボタンを押すので、あなたのアクティビティでonBackPressedだけをオーバーライドすることはできません。 – josephus

+0

ありがとう非常に多く...それは今働いています... :) – Reham

+0

私はこのコードを多くのクラスで試していましたが、それは働いていました...しかし、それらのうちの1つでは、android.os.AsyncTaskのonPostExcuteメソッドのNullPointerExceptionを表示し続けます.Finish – Reham

関連する問題