Android - отображение элемента ListView в текстовом представлении - PullRequest
0 голосов
/ 03 января 2011

Мне удалось настроить страницу таким образом, чтобы пользователь щелкнул элемент в представлении списка, который затем отображает поле alerttdialog и дает им возможность забронировать или отменить.Если они нажимают кнопку «Книга», они переносятся на другой экран.Что мне нужно, это показать элемент, выбранный на следующем экране.У меня почти это есть, но я не могу понять, где все идет не так.Я надеялся, что кто-то может помочь найти лучший способ сделать это?

Мой код в настоящее время -

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

А на booking.java:

public void onCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState);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");   

            }


            }

        }

Оригинальная статья на - Android - Изменение вида при нажатии кнопки alerttdialog

Спасибо всем

1 Ответ

1 голос
/ 03 января 2011

Вам просто нужно установить текст на TextView как значение, которое вы извлекли из 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);
        }
    }
}
...