Я разрабатываю приложение для Android, и я использую Eclipse в качестве IDE, а моя база данных - это MySQL. У меня есть следующая проблема. Когда я пытаюсь взять данные из базы данных через AsynTask, у меня есть ошибка, которую я покажу ниже.
android.view.ViewRootImpl$CalledFromWrongThreadException:
Only the original thread that created a view hierarchy
can touch its views
активность:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
asyn=new MyAsyncTask();
tvtexto=(TextView)findViewById(R.id.tvtextoMa);
context = getApplicationContext();
eventos = new ArrayList<Eventos>();
eventosAdapter = new EventosAdapter(context, R.layout.filae, eventos);
eventos=new ArrayList<Eventos>();
asyn.execute();
listView = (ListView)findViewById(R.id.ListView01Ma);
}
AsyncTask:
public class MyAsyncTask extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... arg0)
{
eventos=(ArrayList<Eventos>) BDEventos.getDatosEventos();
for(Eventos n:eventos){
eventosAdapter.add(n);
}
eventosAdapter.notifyDataSetChanged();
listView.setAdapter(eventosAdapter);
return null;
}
}
Вы найдете много ответов на вашу проблему, которые ищут «[андроид] CalledFromWrongThreadException». –
Возможный дубликат [CalledFromWrongThreadException] (http://stackoverflow.com/questions/3413544/calledfromwrongthreadexception) –