具有选择功能的对话框(下拉列表对话框)
新建一个继承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(); } |
运行效果:
点击后:
点击按钮后: