【问题标题】:How to make sure the layout of an activity no replace by other activity?如何确保一个活动的布局不会被其他活动取代?
【发布时间】:2014-09-03 02:25:17
【问题描述】:

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

但是..我得到了什么.. 在 Activity 2 中,值不显示..但是,只有当我使用后退按钮转到 Activity1 并使用 Activity 2 的布局时,它才会显示值。


活动一

 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 活动是错误的,但找不到解决方案。这几天一直在思考这个问题。我是新手,请帮帮我~

【问题讨论】:

  • 发布整个活动 2 代码。
  • @user3714182 点击btn2 并查看结果。
  • 它将进入活动 3
  • @user3714182 如果您在传递值时遇到问题,我已经发布了一个可能对您有所帮助的答案。

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


【解决方案1】:

仅当我使用后退按钮转到 Activity1 并使用 Activity 2 的布局时才显示该值

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

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

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

【讨论】:

    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多