如何更改其他活动的文本?

MSP*_*MSP 1 html java android textview android-activity

我正在使用 Android Studio 创建一个 Android 应用程序。

\n\n

该应用程序在 MainActivity.java 中启动,该 java 获取 Activity_main.xml 。在 Activity_main 上,用户可以选择 3 个按钮之一。无论他们选择哪个按钮,都会将他们带到相同的布局 - Primary_layout.xml 以及与之关联的 Java 类 PrimaryClass.java 。

\n\n

我在 Primary_layout 中有一个占位符。我希望这个占位符(id:占位符)根据之前选择的按钮进行更改。

\nEg. If Button 1 (id: button1) is clicked, then the placeholder must say \xe2\x80\x9cButton 1 was clicked.\xe2\x80\x9d\n
Or let\xe2\x80\x99s say Button 2 (id: button2) was clicked, then the placeholder must say \xe2\x80\x9cButton 2 was clicked\xe2\x80\x9d. And the same goes for Button 3.\nI have created an intent to open PrimaryClass but I\'m not too sure how to code the intent for when the button is clicked. I just don\xe2\x80\x99t know how to change the text of the placeholder, depending on which button the user has clicked. I\xe2\x80\x99ve tried using an \xe2\x80\x98if statement\xe2\x80\x99 but it doesn\xe2\x80\x99t seem to work.\nOr instead of creating another activity, should I rather create a fragment, and if I should, how would I code the fragment in this particular app?

\nI have attached images and code to better understand.

\n\n

在此输入图像描述

\n\n

在此输入图像描述

\n\n

And here is my code of my classes and layout files:

\n\n

MainActivity:

\n\n
package com.msp.exampleapplication;\n\nimport android.support.v7.app.AppCompatActivity;\nimport android.os.Bundle;\n\npublic class MainActivity extends AppCompatActivity {\n\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n}\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

activity_main:

\n\n

\r\n
\r\n
package com.msp.exampleapplication;\n\nimport android.support.v7.app.AppCompatActivity;\nimport android.os.Bundle;\n\npublic class MainActivity extends AppCompatActivity {\n\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n}\n}\n
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n\n
PrimaryClass:

\n\n

package com.msp.exampleapplication;\n\nimport android.os.Bundle;\nimport android.support.v7.app.AppCompatActivity;\n\npublic class PrimaryClass extends AppCompatActivity {\n\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.primary_layout);\n\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

primary_layout:

\n\n

\r\n
\r\n
<?xml version="1.0" encoding="utf-8"?>\r\n<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r\n    xmlns:tools="http://schemas.android.com/tools"\r\n    android:id="@+id/activity_main"\r\n    android:layout_width="match_parent"\r\n    android:layout_height="match_parent"\r\n    android:paddingBottom="@dimen/activity_vertical_margin"\r\n    android:paddingLeft="@dimen/activity_horizontal_margin"\r\n    android:paddingRight="@dimen/activity_horizontal_margin"\r\n    android:paddingTop="@dimen/activity_vertical_margin"\r\n    tools:context="com.msp.exampleapplication.MainActivity">\r\n\r\n    <Button\r\n        android:text="Button1"\r\n        android:layout_width="wrap_content"\r\n        android:layout_height="wrap_content"\r\n        android:layout_alignParentTop="true"\r\n        android:layout_alignParentStart="true"\r\n        android:id="@+id/button1"\r\n        android:onClick="clickedButton1" />\r\n\r\n    <Button\r\n        android:text="Button2"\r\n        android:layout_width="wrap_content"\r\n        android:layout_height="wrap_content"\r\n        android:layout_below="@+id/button1"\r\n        android:layout_alignParentStart="true"\r\n        android:layout_marginTop="27dp"\r\n        android:id="@+id/button2"\r\n        android:onClick="clickedButton2" />\r\n\r\n    <Button\r\n        android:text="Button3"\r\n        android:layout_width="wrap_content"\r\n        android:layout_height="wrap_content"\r\n        android:layout_below="@+id/button2"\r\n        android:layout_alignParentStart="true"\r\n        android:layout_marginTop="32dp"\r\n        android:id="@+id/button3"\r\n        android:onClick="clickedButton3" />\r\n\r\n</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

And*_*eek 5

您的第一个 Activity 必须如下所示:

 package com.msp.exampleapplication;

 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;

 public class MainActivity extends AppCompatActivity {
 Button button1,button2,button3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 button1=(Button)findViewById(R.id.button1);
 button2=(Button)findViewById(R.id.button2);
 button3=(Button)findViewById(R.id.button3);
 button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent=new Intent(MainActivity.this, PrimaryClass.class);
            intent.putExtra("message","Button 1 selected");
            startActivity(intent);
        }
    });
 button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent=new Intent(MainActivity.this, PrimaryClass.class);
            intent.putExtra("message","Button 2 selected");
            startActivity(intent);
        }
    });
 button3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent=new Intent(MainActivity.this, PrimaryClass.class);
            intent.putExtra("message","Button 3 selected");
            startActivity(intent);
        }
    });
 }

  }
Run Code Online (Sandbox Code Playgroud)

第二个活动的代码如下:

package com.msp.exampleapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class PrimaryClass extends AppCompatActivity {
TextView placeholder;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.primary_layout);
    placeholder=(TextView) findViewById(R.id.placeholder);

    placeholder.setText(getIntent().getStringExtra("message"));

}
}
Run Code Online (Sandbox Code Playgroud)