2011-01-03 10 views
0

Ich habe es geschafft, eine Seite einzurichten, so dass ein Benutzer auf ein Element in einer Listview klickt, die dann eine Warndialogfeld zeigt und ihnen die Option zum Buchen oder Abbrechen bietet. Wenn sie auf Buch klicken, werden sie zu einem anderen Bildschirm geführt. Was ich brauche, ist das ausgewählte Objekt auf dem nächsten Bildschirm anzuzeigen. Ich habe es fast, aber ich kann nicht herausfinden, wo es falsch läuft. Was ich mir erhofft habe, ist, wenn jemand helfen könnte, den besten Weg zu finden, dies zu tun?Android - Anzeigen von ListView-Element in einer Textansicht

Mein Code gegenwärtig ist -

 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(); 
     } 
    }); 

Und auf der booking.java ist:

public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.booking); TextView tv_taxi = (Textansicht) 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"); 

      } 


      } 

     } 

Originalartikel ist - Android - Change View when alertdialog button is clicked

Dank Jeder

Antwort

1

Sie müssen nur den Text auf Ihrem TextView den Wert, den Sie aus dem Bundle abgerufen werden:

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); 
     } 
    } 
} 
+0

Sie habe keine Ahnung wie sehr du von einer Legende bist! Danke, Alter – Oli

Verwandte Themen