1

私の Android アプリケーションには 2 つのアクティビティがActivity1あり、Activity2.

Activity2Activity2 から戻るキーを押したときに、文字列から取得したデータと、この文字列値セットのテキストをアクティビティ 1 のテキストビューに表示したいと考えています。

誰でもこの問題の解決策を教えてください。事前に感謝します。

アクティビティ 2 : ここでは、アクティビティ 2 を押し戻すとアクティビティ 1 に文字列値を渡します。これはアクティビティ 1 に取得されます。

  public void onBackPressed() {
    // TODO Auto-generated method stub
     NoolDataBaseHelper db = new   NoolDataBaseHelper(NoolDashboardDetailPage.this);
    int strtext = db.getProfilesCount();
    db.close();
    Intent intent = new Intent();
    intent.putExtra("Obj", strtext+"");
    setResult(Activity.RESULT_OK, intent);
    if (isclose) {

        finish();

    } 
else
 {
        if (!isplays) {
            inflateLoginlayout.setVisibility(View.GONE);
            topview.setVisibility(View.VISIBLE);
            isplays = true;
            //edtnames.getText().clear();

        }
 else
 {
            super.onBackPressed();
        }
    }

}

Activity1 : ここでは、Activity 2 から文字列を取得し、文字列値をテキストビューに設定します

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

    super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
    if (resultCode == Activity.RESULT_OK) {
        String sSuName = data.getStringExtra("Obj");
        txtfavouratecount.setText(sSuName);
    } else if (resultCode == 0) {
    }
}
}
4

1 に答える 1

1


アクティビティ 1 では、この構造に従う必要があります。

Intent intent=new Intent(Activity1.this,Activity2.class);  
startActivityForResult(intent, 2);// Activity is started with requestCode 2  

 @Override  
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  super.onActivityResult(requestCode, resultCode, data);  
  // check the request code here is 2  
  if(requestCode==2){  
        if(resultCode == 3){ // check the result code
            String message=data.getStringExtra("MESSAGE");   
            // set text for your textview      
            textView1.setText(message); 
        }   
  }  

}

アクティビティ 2 で

public void onBackPressed() {
  String message = "abc";
  Intent intent=new Intent();  
  intent.putExtra("MESSAGE",message);  
  setResult(3,intent); // 3 is result code
  super.onBackPressed(); 
}

この助けを願っています

于 2015-09-30T13:43:23.160 に答える