具有选择功能的对话框(下拉列表对话框)

时间:2022-11-01 13:44:09

具有选择功能的对话框(下拉列表对话框)

新建一个继承Activity类的SpinnerDialogActivity,并设置布局文件为:spinnerdialog.xml。

首先在spinnerdialog.xml文件中添加一个TextView和一个Button。Button用于用户操作,TextView用于显示操作的结果。

  <Button

        android:id="@+id/spinnerdialog_btn01"

        style="@android:style/Widget.Button.Inset"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/show_progressdialog"

        android:textSize="18sp" />

 

    <TextView

        android:id="@+id/spinnerdialog_tv01"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="center_horizontal"

        android:text="@string/spinnerdialogactivity"

        android:textSize="18sp" />

运行界面:

具有选择功能的对话框(下拉列表对话框)

之后在Activity中获取这2个组件,并为Button添加单机事件。

package lyx.feng.simpletextdemo;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

 

public class SpinnerDialogActivity extends Activity implements OnClickListener {

    private TextView tv = null;

    private Button btn = null;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       super.setContentView(R.layout.spinnerdialog);

       this.tv = (TextView) super.findViewById(R.id.spinnerdialog_tv01);

       this.btn = (Button) super.findViewById(R.id.spinnerdialog_btn01);

       this.btn.setOnClickListener(this);

    }

 

    @Override

    public void onClick(View v) {

       // TODO Auto-generated method stub

 

    }

}

 

接下来就在onClick()方法中创建一个带有Item的对话框,选择Item后提示用户选择的是什么,最后显示内容到TextView中

@Override

    public void onClick(View v) {

       AlertDialog dialog = new AlertDialog.Builder(this)

              .setTitle("你喜欢什么类型的电影?")

              .setItems(item, new DialogInterface.OnClickListener() {

 

                  @Override

                  public void onClick(DialogInterface dialog, final int which) {

                     AlertDialog dialog2 = new AlertDialog.Builder(

                            SpinnerDialogActivity.this)

                            .setTitle("提示")

                            .setMessage("你选择的是:" + item[which])

                            .setPositiveButton("确定",

                                   new DialogInterface.OnClickListener() {

 

                                       @Override

                                       public void onClick(

                                              DialogInterface dialog,

                                              int whichs) {

                                          tv.setText("你选择的是:"

                                                 + item[which]);

                                       }

                                   }).create();

                     dialog2.show();

                  }

 

              }).create();

       dialog.show();

    }

运行效果:

具有选择功能的对话框(下拉列表对话框)

点击后:

具有选择功能的对话框(下拉列表对话框)

点击按钮后:

 具有选择功能的对话框(下拉列表对话框)