我正在尝试将文本从一个XML转换到另一个XML但它只是在它应该发生时崩溃所以任何帮助都会受到欢迎!
顺便说一下,这是代码
package com.android.test1;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class xmltwo extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.xmltwo);
TextView one = (TextView) findViewById(R.id.textView1);
EditText two = (EditText) findViewById(R.id.editText1);
one.setText(two.getText());
}
}
这是来自打开textView所在的XML的java文件。
答案 0 :(得分:3)
我的猜测?
logcat将显示行NullPointerException
的{{1}},因为one.setText(two.getText());
引用的布局文件实际上并不包含ID为R.layout.xmltwo
的{{1}} TextView
因此R.id.textView1
TextView
为空。
该布局文件或该布局文件不包含ID为one
的{{1}},该ID会使该值为空,并在尝试调用EditText
时导致NPE。< / p>
作为额外的信息,如果您想从R.id.editText1
获取文字,则需要使用two.getText()
答案 1 :(得分:0)
在本文Android: edit textview defined in xml中,其中一位成员也有类似的问题。他们认为可能setContentView尚未完成运行,这可能是问题所在。但是,你说它只是完全崩溃,所以我不确定这是不是问题。
你的超级课程中是否还有其他部分可能会被挂断?您可以使用getString()函数吗?
我希望其中一些可能会有所帮助!我有兴趣找到一个解决方案,所以我打算继续阅读以尝试和帮助!
答案 2 :(得分:0)
试
one.setText(two.getText().toString().trim()+"");
希望这有帮助..