如何使用按钮将主活动连接到另一个活动?

发布于 2025-02-06 23:57:14 字数 2788 浏览 2 评论 0原文

我是Android的新手,我遇到了一个问题。 Gradle Build运行良好,并且已经启动了应用程序 但是,每当我单击按钮时,它都不会导航我到另一个屏幕。 这是代码:

Main Activity

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void sendMessage(View view) {
    Intent intent = new Intent(this, Displaymsgactivity.class);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);
        }
    });

}
}`

另一种活动displayMsgactivity

public class Displaymsgactivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_displaymsgactivity);

    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Capture the layout's TextView and set the string as its text
    TextView textView = findViewById(R.id.textView);
    textView.setText(message);
}
}

activityManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.learn1" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Learn1">
    <activity android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Displaymsgactivity"
        android:parentActivityName=".MainActivity">
        <!-- The meta-data tag is required if you support API level 15 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>
</application>

</manifest>

I'm new to Android and I have encountered a problem.
The Gradle build is running fine and it has launched the application
but whenever I click the button it does not navigate me to another screen.
Here is the code:

mainactivity

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void sendMessage(View view) {
    Intent intent = new Intent(this, Displaymsgactivity.class);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);
        }
    });

}
}`

another activity Displaymsgactivity

public class Displaymsgactivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_displaymsgactivity);

    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Capture the layout's TextView and set the string as its text
    TextView textView = findViewById(R.id.textView);
    textView.setText(message);
}
}

ActivityManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.learn1" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Learn1">
    <activity android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Displaymsgactivity"
        android:parentActivityName=".MainActivity">
        <!-- The meta-data tag is required if you support API level 15 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>
</application>

</manifest>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

今天小雨转甜 2025-02-13 23:57:14

根据您的主进性:

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void sendMessage(View view) {
    Intent intent = new Intent(this, Displaymsgactivity.class);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);
        }
    });

}
}

您从未打电话public void sendmessage(查看视图){} in increate

call call sendmessage(view) in increate> increate /code>然后重试:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   sendMessage(); // 
}

更新

您可以像以下更好的代码样式更改代码!

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sendMessage(); //
        }
    });
}

public void sendMessage() {
Intent intent = new Intent(this, Displaymsgactivity.class);
  String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);

    

}
}

according your mainactivity:

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void sendMessage(View view) {
    Intent intent = new Intent(this, Displaymsgactivity.class);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);
        }
    });

}
}

you never called public void sendMessage(View view) {} in onCreate

call sendMessage(view) in onCreate and try again :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   sendMessage(); // 
}

Update

you can change your code like below its better code style!

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.learn1.MESSAGE";
EditText editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText editText = (EditText) findViewById(R.id.editText1);
    Button btn = (Button)findViewById(R.id.open_activity_button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sendMessage(); //
        }
    });
}

public void sendMessage() {
Intent intent = new Intent(this, Displaymsgactivity.class);
  String message = editText.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            startActivity(intent);

    

}
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文