Je fais une expérience de onTouchListener. Le but est de déplacer le FrameLayout partout où je le touche. La 1ère version du code me donne une erreur "viewroot $ calledfromwrongthreadexception". Donc dans la 2ème version, j'essaie d'utiliser runOnUiThread pour résoudre l'erreur. Mais ce faisant, ne donne qu'un écran blanc.écran blanc lors de l'utilisation de runOnUiThread
public class MainActivity extends Activity implements Runnable, OnTouchListener{
private int x,y;
private boolean p_running = false;
private FrameLayout mFrame;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFrame=(FrameLayout) findViewById(R.id.frameLayout1);
mFrame.setOnTouchListener(this);
p_running = true;
runOnUiThread(new Thread(new Runnable(){
@Override
public void run(){
while (p_running){
mFrame.setPadding(x,y,0,0);
}
}
}));
}
@Override
public boolean onTouch(View v, MotionEvent event){
x = (int)event.getX();
y = (int)event.getY();
return true;
}
@Override
public void run() {
// TODO Auto-generated method stub
}
}
Merci. Votre code fonctionne. – Wallyfull