2011-01-03 2 views
0

J'ai réussi à configurer une page afin qu'un utilisateur clique sur un élément dans une liste qui affiche ensuite une boîte de dialogue d'alerte et leur donne la possibilité de réserver ou d'annuler. Si elles cliquent sur le livre, il les emmène à un autre écran. Ce dont j'ai besoin est de montrer l'élément sélectionné sur l'écran suivant. Je l'ai presque, mais je ne peux pas savoir où ça va mal. Ce que j'espérais, c'est que quelqu'un puisse aider à trouver la meilleure façon de faire cela?Android - Affichage de l'élément ListView dans une vue texte

Mon code est à l'heure actuelle -

 lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> a, View v, final int position, long id) 
     { 
      final int selectedPosition = position; 
      AlertDialog.Builder adb=new AlertDialog.Builder(ListTaxi.this); 
      adb.setTitle("Taxi Booking"); 
      adb.setMessage("You have chosen = "+lv.getItemAtPosition(position)); 
      adb.setPositiveButton("Book", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        Intent intent = new Intent(getApplicationContext(), Booking.class); 
        intent.putExtra("booking", taxi[selectedPosition]); 
        startActivity(intent); 
       } 
      }); 
      adb.setNegativeButton("Cancel", null); 
      adb.show(); 
     } 
    }); 

Et le booking.java est:

onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.booking); TextView tv_taxi = (TextView) findViewById (R.id.tvtaxi); //tv_taxi.setText(taxi);

 Intent intent = getIntent(); 
     String booking = ""; 
     if (intent != null) { 
      Bundle extras = intent.getExtras(); 
      if (extras != null) { 
       booking = extras.getString("booking"); 

      } 


      } 

     } 

article original est à - Android - Change View when alertdialog button is clicked

Merci à tous

Répondre

1

Vous avez juste besoin de mettre le texte sur votre TextView être la valeur extraite de la Bundle:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.booking); 
    TextView tv_taxi = (TextView) findViewById(R.id.tvtaxi); 
    Intent intent = getIntent(); 
    String booking = ""; 
    if (intent != null) { 
     Bundle extras = intent.getExtras(); 
     if (extras != null) { 
      booking = extras.getString("booking"); 
      tv_taxi.setText(booking); 
     } 
    } 
} 
vous
+0

Je ne sais pas à quel point tu es une légende! Merci mec – Oli

Questions connexes