我有以下代码:
public class Activity2 extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accounted);
TextView tv1 = (TextView) findViewById(R.id.textView1);
EditText et1 = (EditText) findViewById(R.id.editText1);
String text1 = et1.getText().toString();
当我注释掉“string text1 ...”行时,该程序有效。但如果我取消注释,应用程序将关闭。
TextView(tv1)位于当前页面上,但EditText(et1)位于另一页面上。这可能是我的问题的原因吗?我该如何解决这个问题?
答案 0 :(得分:2)
您无法使用意图示例How do I pass data between Activities in Android application?
从另一个活动中访问textview,您应该将textview的值传递给第二个活动答案 1 :(得分:0)
如果EditText在不同的xml中,则不要使用它。 在xml中添加EditText或从源代码中删除它。
答案 2 :(得分:0)
这是你的代码...................
public class Activity2 extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accounted);
TextView tv1 = (TextView) findViewById(R.id.textView1);
EditText et1 = (EditText) findViewById(R.id.editText1);
String text1 = et1.getText().toString();
到目前为止,我在另一个活动中获得了edittext。 因此,要在textview中获取文本,您必须进行一些修改 我表示希望这将有效
首先在当前活动中添加一个edittext
的edittexteditText t1;
之后,为此editText分配另一个活动的编辑文本
t1=secondactivity.edittext id;
现在只需获取该文字并在textview上设置
String text1 = et1.getText().toString();
text1.setText(et1.getText().toString());
答案 3 :(得分:0)
public class Activity2 extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accounted);
TextView tv1 = (TextView) findViewById(R.id.textView1);
EditText et1 = (EditText) findViewById(R.id.editText1);
String text1 = et1.getText().toString();
这是你的代码。你在另一个活动中有Edittext,这就是应用程序崩溃的原因。如果你想从上一个活动获取edittext文本到textview上设置你必须将以下行添加到Intent所在的代码中用来改变活动。
Intent.putextra("string1",et1.getText().toString());
StartActivity(Intent);
这肯定会对你有用。