Sto cercando di ottenere un ImageView per animare tra 2 immagini nella mia cartella disegnabile.Solo il thread originale che ha creato una gerarchia di viste può toccare le sue viste
ho pensato che tutto avrebbe funzionato bene, ma il registro sta mostrando un errore: Only the original thread that created a view hierarchy can touch its views.
Heres il mio codice:
public class ExerciseActivity extends Activity {
private ExercisesDataSource datasource;
private Cursor cursor;
private ImageView image_1_view;
private Timer _timer;
private int _index;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exercise);
datasource = new ExercisesDataSource(this);
datasource.open();
cursor = datasource.fetchExercise(exerciseDataID);
image_1_view = (ImageView) findViewById(R.id.exercise_image);
_index = 1;
_timer = new Timer();
_timer.schedule(new TickClass(), 1000);
}
public class TickClass extends TimerTask
{
private int columnIndex;
@Override
public void run() {
if (_index == 1) {
columnIndex = cursor.getColumnIndex(MySQLiteHelper.COLUMN_IMAGE_1);
_index = 2;
}
else {
columnIndex = cursor.getColumnIndex(MySQLiteHelper.COLUMN_IMAGE_2);
_index = 1;
}
String image_1 = cursor.getString(columnIndex);
image_1 = image_1.replace(".png", "");
int resourceId = getResources().getIdentifier(getPackageName() + ":drawable/" + image_1, null, null);
image_1_view.setImageDrawable(getResources().getDrawable(resourceId));
}
}
}
sono andato avanti e impostare le classi e le funzioni di pubblico, ma che non ha aggiustalo.
Tutte le risorse e tutto è a posto, come posso risolvere questo errore?
Si dovrebbe dare lo stack completo, sarà utile ... –
Eventuali duplicati di [Android "Solo il thread originale che ha creato una gerarchia vista può toccare le sue opinioni."] (Https: // StackOverflow. it/questions/5161951/android-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-vi) –