Android的 - 更改视图点击alertdialog按钮时 [英] Android - Change View when alertdialog button is clicked

查看:123
本文介绍了Android的 - 更改视图点击alertdialog按钮时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一对情侣在此刻字符串列表视图。当用户选择一个它带来了一个alertdialog盒提供前往预定的选项(这将是一个出租车的应用程序)或取消。我不能工作了是如何得到它,这样当用户点击书,就需要他们所选择的信息,并加载了更多的接触信息的新观点。

I have a listview with a couple of strings in at the moment. when a user selects one it brings up an alertdialog box which gives the option to book(this is going to be a taxi app) or cancel. What i cant work out is how to get it so that when the user clicks "Book" it takes the information they've selected and loads up a new view with more contact information.

我的code目前是这样的 -

My Code is currently this -

公共类ListTaxi扩展ListActivity {
    / **当第一次创建活动调用。 * /
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);

public class ListTaxi extends ListActivity{ /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

    String[] taxi = getResources().getStringArray(R.array.taxi_array);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.listtaxi, taxi));

    final ListView lv = getListView();
    lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> a, View v, int position, long id)
       {   
           AlertDialog.Builder adb=new AlertDialog.Builder(ListTaxi.this); 
           adb.setTitle("Taxi Booking");
           adb.setMessage("You have chosen = "+lv.getItemAtPosition(position)); 
          adb.setPositiveButton("Book", null);
          adb.setNegativeButton("Cancel", null); 
          adb.show(); 
       } 
 }); 

任何帮助或指针,这将是pciated作为其最后一位非常AP $ P $我需要得到它之前几乎完成了工作。

Any help or pointers with this would be immensely appreciated as its the last bit i need to get working before its almost done.

谢谢大家。

奥利

推荐答案

您需要把 onClickListener 到你的正面按钮,将推出新的活动,通过数据到它。您code会变成这样的:

You need to put an onClickListener onto your positive button, which will launch the new activity and pass the data to it. Your code would become something like:

public class ListTaxi extends ListActivity{ /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final String[] taxi = getResources().getStringArray(R.array.taxi_array);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.listtaxi, taxi));

    final ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> a, View v, 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(), NextActivity.class);
                intent.putExtra("booking",  taxi[selectedPosition];
                startActivity(intent);
            }
        });
        adb.setNegativeButton("Cancel", null); 
        adb.show(); 
    }
});

在你的目标的活动,有这样的事情:

In your target activity, have something like this:

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

这篇关于Android的 - 更改视图点击alertdialog按钮时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆