2015-07-19 81 views
0

我想在TextView上设置文本,我在手机上得到一个错误,并在LogCat中我得到的是标签:androidruntime,text:at com.examp ... onPostExecute(AsyncSomething。 JAVA)。 这里是我的伪代码:错误在AsyncTask onPostExecute

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

发布完整堆栈跟踪。 – JohanShogun

+0

感谢您的-1,我不能发布完整的跟踪,我敢肯定,对于6.5行代码,有一些人将能够帮助我 – Upsilon42

+0

您的logcat应该始终有完整的堆栈跟踪如果你的手机是本地连接的,而你实际上在终端上使用“adb logcat”而不是使用android studio/eclipse。欢迎来到-1。如果这是一个远程崩溃,并且您没有复制它,您将不得不重现它以确保您修复它。 – JohanShogun

回答

2

从您发布的代码我发现唯一的错误,可能导致您的应用程序崩溃为NullPointerException,是您使用findViewById之前setContentView。在每个findViewById之前,您始终要拨打setContentView否则您将不会找到任何小部件

+0

谢谢,实际上它总是让我忘记这一点。我会在2525年x完成我的应用程序,无论如何,解决。 – Upsilon42

+0

不客气 – Blackbelt