我试图在TextView上设置文本,我在手机上收到错误,在LogCat中我获得的是标签:androidruntime,text:at com.examp ... onPostExecute(AsyncSomething.java) 。 这是我的伪代码:
TextView display_car_tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
display_name_tv = (TextView) findViewById(R.id.display_name_tv);
.....
setContentView(R.layout...);
}
我有一个仅影响方法的按钮:
new AsyncSomething(this,display_car_tv).execute();
AsyncSomething的代码:
private Context context;
private TextView tv;
public AsyncSomethin(Context context, TextView tv){
this.context=context;
this.tv=tv;
}
protected String doInBackground(String...arg0){
//some code that works
return sb.toString();
}
protected void onPreExecute() {}
@Override
protected void onPostExecute(String result){
this.tv.append(result);
}
我做错了什么? 如何从LogCat获取更多信息?
PS:很抱歉没有提供整个代码,但这不相关。
答案 0 :(得分:2)
从您发布的代码中我发现的唯一错误,可能导致您的应用程序因NullPointerException
而崩溃,是您在findViewById
之前使用setContentView
。您必须在每setContentView
之前致电findViewById
,否则您将无法找到任何小工具