0

我设法设置了一个页面,以便用户单击列表视图中的项目,然后显示一个警报对话框并为他们提供预订或取消的选项。如果他们点击书,它会将他们带到另一个屏幕。我需要的是在下一个屏幕上显示选择的项目。我几乎拥有它,但我无法弄清楚它哪里出错了。我希望的是,如果有人可以帮助找出最好的方法来做到这一点?

我目前的代码是 -

        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 savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.booking); TextView tv_taxi = (TextView) findViewById(R.id.tvtaxi); //tv_taxi.setText(出租车);

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

            }


            }

        }

原文位于 - Android - 单击警报对话框按钮时更改视图

感谢大家

4

1 回答 1

1

您只需要将您的文本设置为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);
        }
    }
}
于 2011-01-03T17:40:46.990 回答