2012-11-02 3 views
0

le problème est que ma mise en page est de taper sur et j'ai besoin d'un TextView déplacer d'une partie à un autre écran, pour ce faire, je fais en sorte que la vue mise en page, puis retirez tout le visage apparaissent à nouveau même TextView de manière à ne pas avoir le TextView être "traîné" à travers l'écran.Mise à jour textview sur android

Voici mon code:

Textview textview = new TextView(context); //context was been defined 

poiView.removeAllViews(); 
for (int j = 0; j < poiP.length; j++) { 
    //code 
    texview.setText("iojforj"); 

    poiView.addView(textview, params); //params was been defined 
    textview.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 


      function (v.getId()); 
     } 
    }); 

Maintenant, le problème est que le TextView semble, cela fonctionne, se déplace et ainsi de suite, mais ne me laisse pas accéder à la méthode M. clique parce que le TextView est enlevé et mis dans le temps.

+3

S'il vous plaît expliquer ce que vous essayez de faire et ce qui ne fonctionne pas. Quelle est la question ici? Ceci est votre premier message, ne soyez pas négatif. – Shark

+0

en pratique depuis que le TextView est ajouté et supprimé pour toujours, quand je clique sur le TextView, je n'accède pas à la méthode onclick –

Répondre

2

Au lieu de supprimer et de rajouter textView, vous devriez simplement jouer avec sa visibilité.

Ainsi, au lieu de les enlever et de les ajouter plus tard, vous devez simplement faire

textView.setVisibility(View.INVISIBLE); //to make it disappear 
textView.setVisibility(View.VISIBLE); //to make it reappear 

cette façon, ils garderont leurs OnClickListeners assignés

si cela est en cours d'exécution d'un autre thread, vous avez besoin pour mettre cela dans un appel runOnUiThread().

EDIT: permet d'essayer ce

Textview textview = new TextView(context); //context has been defined 
    poiView.removeAllViews(); 
    OnClickListener buttonListener = new OnClickListener() { //listener here } 
    for (int j = 0; j < poiP.length; j++) 
    { 
    //code 
    texview.setText("iojforj"); 

    poiView.addView(textview, params); //params was been defined 
    textview.setOnClickListener(buttonListener); 
    } 
+0

merci, mais cette méthode ne résout pas le problème; –

+0

J'utilise une boussole de méthode dans cette apk donc quand je fais tourner un appareil, mon texte change de position, et je veux que cette textview ne laisse pas de trace de position et je fais removeallview et après ajouter la vue –

+0

@danielefiscolo Alors pourquoi ne pas vous le dites il y a 4 heures dans le post d'ouverture? – Shark

Questions connexes