gpt4 book ai didi

java - 如何对字符串使用 putExtra 和 putIntent

转载 作者:行者123 更新时间:2023-12-01 23:11:57 25 4
gpt4 key购买 nike

我阅读了很多有关 putExtra 的内容,但我的应用程序仍然无法运行(应用程序关闭)我只想将 editText 中的字符串值从 MainActivity 发送到 AnotherActivity textView。这是我的 MainActivity.java。

public class MainActivity extends Activity {

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

final EditText et = (EditText)findViewById(R.id.tv);

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

public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(), AnotherActivity.class);
intent.putExtra("text", et.getText().toString());
startActivity(intent);
}
});
}}

这是我的activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button1"
android:ems="10"
android:inputType="text"
android:text="@string/hello_world" >

<requestFocus />
</EditText>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/et"
android:layout_marginLeft="18dp"
android:text="@string/hello_world" />

这是我的 AnotherActivity.java

enter code here

公共(public)类 AnotherActivity 扩展了 Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);

String name = getIntent().getStringExtra("text");

TextView tv = (TextView)findViewById(R.id.tv);
tv.setText(name);
}}

这是我的activity_another.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".AnotherActivity" >

<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="107dp"
android:layout_marginTop="190dp"
android:text="@string/title_activity_another" />

谢谢您的回答。我是新手:)

最佳答案

别担心,您已经正确理解了如何使用 Intent extras。

问题是,您正在尝试查找 EditText (ID为R.id.tv)在你的第二个Activity您的第一个布局 Activity的布局,这导致 NullPointerException在你的OnClickListener .

更改您的第一行 Activity :

final EditText et = (EditText)findViewById(R.id.tv);

至:

final EditText et = (EditText)findViewById(R.id.et);

关于java - 如何对字符串使用 putExtra 和 putIntent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798312/

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