2015-06-27 3 views
-1

Если я хочу получить текстовое представление в асинтете из других действий, это текстовое представление не определено в asynctask. Что я могу сделать?Ошибка NullPointerException в findviewbyid в textview в asynctask

, например, этот код:

 private class ParserTask extends 
     AsyncTask<String, Integer, List<List<HashMap<String, String>>>> { 

    // Parsing the data in non-ui thread 
    @Override 
    protected List<List<HashMap<String, String>>> doInBackground(
      String... jsonData) { 
      // some code 
       } 

    @Override 
    protected void onPostExecute(List<List<HashMap<String, String>>> result) { 
     // some code 

     * tvDistanceDuration.setText("distanse:"); 

      saveLine(points); 
     } 
} 
public void saveLine(final ArrayList<LatLng> points) { 

    //// Inflate the menu; this adds items to the action bar if it is present. 

* findViewById(R.id.button1).setVisibility(View.VISIBLE); 
      //// some code 
    } 

ошибка произошла в * линии

+1

Atleast почтовый индекс или показать нам, что вы делали до сих пор – chiragjn

+0

ваш вопрос очень неясного – frost

+0

Ничего не делать, как вы не говоря уже о какой-либо код в ваш вопрос также. – Pankaj

ответ

0

Пропустите деятельность, которая держит вид с TextView и делать activity.findViewById()

** Не делайте этого в doInBackgroundMethod, потому что вы получите исключение NullPointer.

public class MyAsyncTask extends AsyncTask<Object, Void, String> { 
private Activity mActivity; 

public MyAsyncTask(Activity activity) { 
    super(); 
    this.mActivity = activity; 
} 

@Override 
protected void onPreExecute() { 
    mActivity.findViewById(R.id.textview); 
} 

@Override 
protected String doInBackground(Object... params) { 

    return "ok"; 
} 

@Override 
protected void onPostExecute(String result) { 

} 
} 
+0

спасибо, но если эта асинтеза была в другой асинтете, я должен применить это решение к обоим из них? –

+0

Это определенно решение. Создайте новую задачу async, вызвав что-то вроде этого: new MyAsyncTask (mActivity) –

+0

например: MyAsyncTask1 (mActivity) {...... MyAsyncTask2.execute (mActivity) .......}? –

Смежные вопросы