0

私は Android アプリに取り組んでおり、UI レイアウトでフラグメントを使用しています。フラグメントの 1 つで、ボタン クリックの背後で日時ピッカーを使用する必要がありました。アクティビティのダイアログを使用して実装されたサンプルの日時ピッカー アプリケーションをダウンロードしましたが、断片化されたボタン クリックの背後で動作させるのに問題がありました。だから私は、ダイアログに日時ピッカーを表示するインテントを使用して、そのボタンから日時ピッカーアクティビティを呼び出しました。ピッカーを使用して日付と時刻を設定した後、「OK」ボタンをクリックすると、このアクティビティを呼び出したフラグメントに戻り、テキストビューでピッカーから選択した日付と時刻を更新します。それを達成する方法は?

日時ピッカー アクティビティは、フラグメントが作成されるアクティビティとは異なることに注意してください。

4

1 に答える 1

1

フラグメントには、アクティビティと同じライフサイクルも含まれます。

日付ピッカー アクティビティから finish() メソッドを呼び出すだけです。最後のフラグメントにリダイレクトし、フラグメントの onResume() を呼び出します。選択した日付を 1 つの静的変数に保存します。

別のアプローチ:

日付ピッカー アクティビティを開始する

以下のように

int REC_CODE=2;
startActivityForResult(new Intent(this,DataPic.class),REC_CODE);

日付を選択した後の DatePicker アクティビティ

コードの下に書く

Intent i = new Intent();
i.putExtra("date",selecteddate);
setResult(RESULT_OK, i);
finish(); 

上記のコードを実行すると、DatePick アクティビティが終了し、以下のメソッドが ovveride されます。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{

  // TODO Auto-generated method stub
    if(requestCode == REQ_CODE){
               if (resultCode == Activity.RESULT_OK){
                   String date= data.getStringExtra("date");
}
}
于 2012-10-10T06:25:53.573 に答える