2017-11-16 10 views
1

アンドロイドスタジオでは、ユーザーに自分の名前と誕生日を入力させるためのADDというアクティビティがあります。ユーザーが[OK]ボタンをクリックすると、データはSQLDatabaseに保存され、データはリストビュー内の別のアクティビティに表示されます。私が欲しいのは、ユーザーがリストビューのアクティビティに入っていて、このリストビューの項目をクリックしたときに、デフォルトのデータではなく、保存されたデータをADDアクティビティに戻したいと思っています。
誰でもここに解決策がありますか?アンドロイド、リストビューで選択した後に保存されたデータに戻る

答えて

0

を使用すると、データ

Intent returnIntent = new Intent(); 
returnIntent.putExtra("result",result); 
setResult(Activity.RESULT_OK,returnIntent); 
finish(); 
に戻って取得したいとき、アクティビティBで

Intent i = new Intent(this, B.class); 
startActivityForResult(i, 1); 

から、二つのクラス& B

スタート活動BによってstartActivityForResult とonActivityResult 例を使用してみてください

データなしで返信する場合

活動Aでは
Intent returnIntent = new Intent(); 
setResult(Activity.RESULT_CANCELED, returnIntent); 
finish(); 

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

    if (requestCode == 1) { 
     if(resultCode == Activity.RESULT_OK){ 
      String result=data.getStringExtra("result"); 
     } 
     if (resultCode == Activity.RESULT_CANCELED) { 
      //Write your code if there's no result 
     } 
    } 
} 
+0

と私はOnItemClickListener使用する必要がありますを使用して、あなたの意見をpopluate? ? – john

+0

結果のインテントを提供するアクティビティB – MGRagab

0

あなたは、必要なデータを含む意図でstartActivity()を使用してADDの活動を開始し、ADD活動のonCreate()でその意図データをチェックすることができます。 インテントデータがnullの場合は、ユーザーがリスト項目をクリックせずにそのアクティビティを開始したことを意味し、インテントデータが得られた場合は、入力した値を抽出してフィールドに値を設定できます。

例= 1番目のケース:

startActivity(new Intent(this, AddActivity.class));

第二ケース(リストの項目をクリックしたとき):

startActivity(new Intent(this, AddActivity.class).putExtra("name", "your_name").putExtra("d_o_b", <your_date_of_birth>));

そしてgetIntent()

を使用して onCreate()にこれらのデータを取得します

チェックgetIntent()。それがnullだ場合、それはいつもの流れは、使用してそれから値をつかむ他の人の -

getIntent().getStringExtra("name")

をし、DOBと同じ手順に従うと、これらの値

関連する問題