gpt4 book ai didi

java - 将 EditText 中的文本获取到另一个 Activity 的字符串中

转载 作者:行者123 更新时间:2023-12-02 03:28:12 25 4
gpt4 key购买 nike

我一直在寻找,但没有找到路。我找到的解决方案不起作用或者我不知道如何实现它们。

我的主要 Activity

public class MainActivity extends AppCompatActivity {



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

EditText txtDescription = (EditText) findViewById(R.id.nameE);
final String nameE2 = txtDescription.getText().toString();

Button bVerify = (Button) findViewById(R.id.verifyB);
bVerify.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
/** Called when the user clicks the Next button */
Log.d("EditText", nameE2);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
intent.putExtra(EXTRA_MESSAGE, nameE2);
startResultActivity(null);
}
});
}

public void startResultActivity(View view){
Intent sra = new Intent(this, ResultActivity.class);
startActivity(sra);

}
}

这已经在我的代码中,是我到处都找到的两个解决方案,但我不知道如何使用它们:

 EditText txtDescription = (EditText) findViewById(R.id.nameE);
String nameE2 = txtDescription.getText().toString();

&

Log.d("EditText", nameE2);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
intent.putExtra(EXTRA_MESSAGE, nameE2);

在activity_main中,除其他外,我有这个EditText和这个按钮:

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:id="@+id/nameE"
android:layout_below="@+id/NameTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:editable="false" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/verifyB"
android:layout_alignParentStart="true"
android:text="@string/verifyB"
android:layout_alignParentEnd="true"
android:layout_below="@+id/nameE"
android:layout_alignParentLeft="true" />

在“ractivity”布局中,我有这个纯文本。在这个中,我想添加来自其他 Activity/布局的 EditText 输入。

<TextView

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello + nameE2 + . Are you sure you want to accept these terms?"
android:id="@+id/textView"
android:textSize="20dp"
android:textColor="@color/abc_input_method_navigation_guard" />

“nameE2”必须是EditText的字符串。

我很想知道如何解决这个问题。

提前致谢。如果您需要更多数据,请告诉我。

最佳答案

这看起来不错,只需稍加修改。

bVerify.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
/** Called when the user clicks the Next button */
Log.d("EditText", nameE2);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
intent.putExtra(EXTRA_MESSAGE, nameE2);
startResultActivity(null);
}
});

此处不要将 null 传递给 startResultActivity(),而是传递创建的 Intent,类似于以下内容:

bVerify.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final String nameE2 = txtDescription.getText().toString();
/** Called when the user clicks the Next button */
Log.d("EditText", nameE2);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
intent.putExtra(EXTRA_MESSAGE, nameE2);
startResultActivity(intent);
}
});

并且 startResultActivity() 方法必须如下所示:

public void startResultActivity(Intent intent){

startActivity(intent);

}

编辑:正如我所提到的,您不能直接在布局文件中使用变量。

您必须动态设置它。您可以在 ResultActivity 的 onCreate() 方法中执行此操作。它必须看起来类似于:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ractivity); // your second layout file

TextView textView = (TextView) findViewById(R.id.textView);
String stringResult = getIntent().getStringExtra(EXTRA_MESSAGE);
String textViewText = "Hello "+ stringResult +". Are you sure you want to accept these terms?";
textView.setText(textViewText);

}

如果您的第二个布局文件中有一个带有 textView id 的 Textview,那么这将起作用。

关于java - 将 EditText 中的文本获取到另一个 Activity 的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498062/

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