gpt4 book ai didi

android - 从一项 Activity 切换到另一项 Activity 时 Intent 不起作用

转载 作者:行者123 更新时间:2023-11-29 14:25:07 28 4
gpt4 key购买 nike

我制作了一个包含两个 Activity 的简单 android 程序,第一个 Activity 包含一个编辑文本和一个按钮,第二个 Activity 包含一个 TextView 。现在,当第一个 Activity 中的按钮按下时,来自 Edittext 的文本应该转到第二个 Activity 的 TextView .我试过下面的代码,但它不工作:

MainActivity.java

package com.example.myweb;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myweb";

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


Button b =(Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

EditText ed = (EditText)findViewById(R.id.edit_msg);
Intent i = new Intent(getApplicationContext(),Act2.class);
String s= ed.getText().toString();

i.putExtra("EXTRA_MESSAGE", s);
startActivity(i);

}
});

}

}

Act2.java

package com.example.myweb;

import org.w3c.dom.Text;

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

public class Act2 extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act2);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TextView tv = (TextView)findViewById(R.id.tv1);
Intent i =getIntent();
String msg = i.getStringExtra(MainActivity.EXTRA_MESSAGE);
tv.setText(msg);

setContentView(tv);





}
});
}
}

请帮帮我,谢谢

最佳答案

试试这个:

在 MainActivity.java 中:

将 Button b 和 EditText ed 声明为类字段(即将其保留在 onCreate() 之外)

class MainActivity.java
{
Button b;
EditText ed;
...

onCreate() {
...
b =(Button)findViewById(R.id.button1);
ed = (EditText)findViewById(R.id.edit_msg);
b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub


Intent i = new Intent(MainActivity.this,Act2.class);
String s= ed.getText().toString();

i.putExtra("EXTRA_MESSAGE", s);
startActivity(i);

}
});
...

在 Act2.java 中:

    ...
Intent i = getIntent();
String msg = i.getStringExtra("EXTRA_MESSAGE");


TextView tv = (TextView)findViewById(R.id.tv1);
tv.setText(msg);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub



}
});
...

关于android - 从一项 Activity 切换到另一项 Activity 时 Intent 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293455/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com