如何确保活动的布局不会被其他活动取代?

时间:2014-09-03 02:25:18

标签: java android eclipse android-intent android-activity

请帮忙...... 我有 活动1:由值按钮5,10,30,50和100组成。 活动2:显示在Activtity 1中选择的值。

但是..我得到了什么.. 在活动2中,值不显示..但是,它仅在我使用后退按钮时显示值,转到活动1并使用活动2的布局。


活动1

 public class ButtonClickHandler implements View.OnClickListener {
 public void onClick(View view) {


 switch (view.getId()) {

             case R.id.imageView2:


                  Intent intent7 = new Intent(IntentExampleActivity.this,more.class);
                  intent7.putExtra("YourKeyName", "RM 5");
                  startActivity(intent7);

                  break;

             case R.id.imageView6:
                  Intent intent2 = new Intent(IntentExampleActivity.this,more.class);
                  intent2.putExtra("YourKeyName", "RM 10");
                  startActivity(intent2);

                  break;

             case R.id.imageView3:
                  Intent intent4 = new Intent(IntentExampleActivity.this,more.class);
                  intent4.putExtra("YourKeyName", "RM 30");
                  startActivity(intent4);

                  break;

             case R.id.imageView02:
                  Intent intent3 =new Intent(IntentExampleActivity.this,more.class);
                  intent3.putExtra("YourKeyName", "RM 50");
                  startActivity(intent3);

                  break;

             case R.id.imageView06:
                  Intent intent5 = new Intent(IntentExampleActivity.this,more.class);
                  intent5.putExtra("YourKeyName", "RM 100");
                  startActivity(intent5);

                  break;

             default:

       };

活动2

    package com.prgguru.android;

   import android.app.Activity;
   import android.content.Intent;
   import android.os.Bundle;
   import android.view.View;
   import android.widget.Button;
   import android.widget.TextView;

 public class more extends Activity  {

TextView text1;
TextView text2;
Button btn1;
Button btn2;
String value;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.more);

    btn1= (Button) findViewById(R.id.button1);
    btn1.setOnClickListener(new ButtonClickHandler());

    btn2= (Button) findViewById(R.id.button2);
    btn2.setOnClickListener(new ButtonClickHandler());

      Intent intent = getIntent();
      String valueFromIntent = intent.getStringExtra("YourKeyName");
      text1= (TextView) findViewById(R.id.textView2);
      text1.setText(valueFromIntent);

  }


public class ButtonClickHandler implements View.OnClickListener {

public void onClick(View view) {


if(view.getId()==R.id.button1){
     Intent intObj = new Intent(getApplicationContext(),
                IntentExampleActivity.class);
            startActivity(intObj);

}

else if ((view.getId()==R.id.button2)){
     Intent intObj = new Intent(getApplicationContext(),
                reconfirm.class);
            startActivity(intObj);
     }
    }
   }
  }

我猜发送Intent活动是错误的,但找不到解决方案。几天思考这个问题。我是新手,请帮帮我〜

1 个答案:

答案 0 :(得分:-2)

只有当我使用后退按钮转到Activity1并且使用活动2的布局时才会显示该值

因为您在onClickListener中设置了文本值的逻辑。就这样做

Intent intent = getIntent();
String valueFromIntent = intent.getStringExtra("YourKeyName");
text1= (TextView) findViewById(R.id.textView2);
text1.setText(valueFromIntent);

在Activity 2的onCreate中,位于任何onClickListener括号之外。它应该工作。