textView.setText(); 崩溃

jon*_*nas 3 debugging null android return settext

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

无论我输入什么文字都无关紧要,无论如何它都会崩溃.为什么setText()继续返回null?

先感谢您

解决方案:我的错误是在xml文件中.我写道:android:text ="@ + id/txt_1"当它应该说:android:id ="@ + id/txt_1"

非常感谢所有的答案和评论!

Hrk*_*Hrk 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>
Run Code Online (Sandbox Code Playgroud)

也许尝试清理你的项目(Project-> Eclipse中的Clean),我最近在最后一个ADT版本上遇到了R代的问题.


Lum*_*mis 5

试试这个:

textView.setText(Integer.toString(ascii)); 
Run Code Online (Sandbox Code Playgroud)

还要确保您的布局xml具有TextView txt_1