Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在第二个活动中显示文本_Android_Android Intent - Fatal编程技术网

Android 如何在第二个活动中显示文本

Android 如何在第二个活动中显示文本,android,android-intent,Android,Android Intent,所以第一个活动要求用户点击三个按钮中的一个,每个按钮代表一种颜色。我已经创建了第二个活动,并接受了所单击按钮的值。我使用了一个if循环来匹配button的值,如果button的值与颜色匹配,它应该显示一个字符串“youhaveselected(color)”。但是,我不确定通过intent对象传递的参数。有人能帮忙吗?是的,我是个傻瓜,刚开始学安卓 package org.example.helloandroid; import android.support.v7.app.ActionBar

所以第一个活动要求用户点击三个按钮中的一个,每个按钮代表一种颜色。我已经创建了第二个活动,并接受了所单击按钮的值。我使用了一个if循环来匹配button的值,如果button的值与颜色匹配,它应该显示一个字符串“youhaveselected(color)”。但是,我不确定通过intent对象传递的参数。有人能帮忙吗?是的,我是个傻瓜,刚开始学安卓

package org.example.helloandroid;

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {

String EXTRA_MESSAGE= null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


/**   if (savedInstanceState == null) {
       getSupportFragmentManager().beginTransaction()
              .add(R.id.container, new PlaceholderFragment())
             .commit();
    }

**/
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void gotoActivity(View v) {

    Button b= (Button)v;
    String message= b.getText().toString();

        if (message=="red") {
            Intent intent = new Intent(this, ColorActivity.class);
            intent.putExtra(EXTRA_MESSAGE, "You have chose RED ");
            startActivity(intent);

        }

        if (message=="green") {
            Intent intent= new Intent(this, ColorActivity.class);
            intent.putExtra(EXTRA_MESSAGE, "You have chose GREEN!");
            startActivity(intent);

        }

        else {
            Intent intent= new Intent (this, ColorActivity.class);
            intent.putExtra(EXTRA_MESSAGE, "You have chose BLUE");
            startActivity(intent);

        }


}
}

下面是第二个活动-ColorActivity的代码

package org.example.helloandroid;

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

public class ColorActivity extends Activity {

String EXTRA_MESSAGE= "message";
TextView mTextview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.color_activity);
    mTextview=(TextView) findViewById(R.id.textView1);
    mTextview.setText(getIntent().getStringExtra("EXTRA_MESSAGE"));

}

}

让你的第二项活动如下: 确保将字符串值
EXTRA\u MESSAGE
设置为某个值

    public class SecondActivity extends Activity {

    TextView mTextview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        mTextview = (TextView)findViewById(R.id.textView1);
        mTextview.setText(getIntent().getStringExtra("EXTRA_MESSAGE"));
    }
  }

首先,您尚未分配
额外消息
。在
main活动中更改此行

String EXTRA_MESSAGE= null;
…到

String EXTRA_MESSAGE= "message";
另外,将完全相同的行添加到第二个
活动中

其次,不能使用
==
比较字符串,必须使用
equals(…)
方法。例如

if (message=="red")
…应该是

if (message.equals("red"))

除此之外,只需按照AndroidWarrior描述的格式从用于启动第二个
活动的
意图中获取额外的内容

,感谢您的输入,但当我单击第一个活动上的任何按钮时,它只显示一个空白活动,没有任何文本。但我感谢你的帮助。我也用了你的技巧。应用程序运行,但在第二个活动中不显示任何文本。但我真的很感谢你花时间解释代码。我一定会浏览你提供的资源。谢谢@user3722881:这真的不应该那么困难-这是启动新的
活动并向其传递数据所需的基本机制之一。编辑您的问题并为第二个
活动添加代码。很抱歉,我刚刚开始Android编程,我已经为第二个活动添加了代码。