textView.setText();崩溃
Posted
技术标签:
【中文标题】textView.setText();崩溃【英文标题】:textView.setText(); crashes 【发布时间】:2011-07-16 04:01:56 【问题描述】: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 文件中。我写: android:text="@+id/txt_1" 当它应该说: android:id="@+id/txt_1"
非常感谢所有的答案和cmets!
【问题讨论】:
你确定 textView 不是 null 吗?你能提供一条错误信息吗? 可能 findViewById() 不起作用。你确定你定义了一个名为 txt_1 的 TextView 吗? 发布您的 main.xml 文件。 【参考方案1】:您尝试将整数作为参数传递给 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_
android:layout_>
<TextView
android:id="@+id/txt_1"
android:layout_
android:layout_
android:text="myTextView"/>
</LinearLayout>
也许尝试清理你的项目(Project->Clean in Eclipse),我最近在上一个 ADT 版本上生成 R 时遇到了一些问题。
【讨论】:
我试图放入平面文本。我唯一知道的是 setText() 行使我的程序崩溃。我知道我的 xml 文件没有问题。 logcat 说 textView 变量返回 null。我认为我使用 setText() 方法错误。【参考方案2】:试试这个:
textView.setText(Integer.toString(ascii));
还要确保你的布局 xml 有 TextView txt_1
【讨论】:
【参考方案3】:我试过了:
Integer.toString(char) and String.valueOf(char)
两者都没有工作。 唯一的解决办法是:
txt.setText(""+char);
从优化的角度来看,这不是很有效,但它确实有效:)
【讨论】:
以上是关于textView.setText();崩溃的主要内容,如果未能解决你的问题,请参考以下文章
Android TextView : “Do not concatenate text displayed with setText”
Android TextView setText内嵌html标签
RecyclerView 不能在 onBindViewHolder() 中使用 setText()
在其他方法 Android 中使用 Textview.setText
在 onPreExecute() 内部调用时 TextView.setText() 的 NullPointerException