setText()方法在我的应用程序中返回null为什么?
public class GetValue extends Activity {
char letter = 'g';
int ascii = letter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView = (TextView)findViewById(R.id.txt_1);
textView.setText(ascii);
}
}
无论我输入什么文字都无关紧要,无论如何它都会崩溃。为什么setText()继续返回null?
提前谢谢
解决方案:我的错误发生在xml文件中。我写: 机器人:文字= “@ + ID / txt_1” 什么时候应该说: 机器人:ID = “@ + ID / txt_1”
非常感谢所有的答案和评论!
答案 0 :(得分:8)
您尝试将整数作为参数传递给setText,后者假设它是资源ID。要显示计算文本,请将其作为字符串传递:textView.setText("g");
编辑:检查你的XML文件,我测试了一些非常基础的东西,它可以正常工作
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/txt_1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="myTextView"/>
</LinearLayout>
也许尝试清理你的项目(Project-&gt;在Eclipse中清理),我最近在最后一个ADT版本上遇到了R代的问题。
答案 1 :(得分:5)
试试这个:
textView.setText(Integer.toString(ascii));
还要确保您的布局xml具有TextView txt_1
答案 2 :(得分:2)
我试过了:
Integer.toString(char) and String.valueOf(char)
两个都没有用。
唯一的解决方案是:
txt.setText(""+char);
从优化的角度来看,这不是很有效,但它可以解决问题:)