23.单选列表框的使用实例

来源:互联网 发布:多重网络会影响网速吗 编辑:程序博客网 时间:2024/06/03 12:14

效果描述

在该页面中有过一个按钮和一个提示信息,当点击按钮的时候弹出一个兴趣爱好的单选按钮框(默认选中第一个条信息),当用户点击其中某一项后并确定后,关闭单选对话框并在页面中显示选中的内容。效果如下:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

静态页面

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity"    android:background="@drawable/dog4" >    <Button        android:id="@+id/show"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="20dp"        android:layout_gravity="center"        android:text="显示单选按钮对话框" />、    <TextView        android:id="@+id/choiceShow"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:hint="在此显示内容"        android:layout_marginTop="10dp"        android:layout_gravity="center"        android:textSize="20dp"/></LinearLayout>

事件响应

package com.example.alertdialogdemo;import android.os.Build;import android.os.Bundle;import android.os.Handler;import android.annotation.SuppressLint;import android.annotation.TargetApi;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.app.DialogFragment;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;@SuppressLint("NewApi")public class MainActivity extends Activity{    Button show=null;    TextView choiceShow=null;    final int COMMON_DIALOG=1;    private String[] like=new String[]{"篮球","跑步","学习","唱歌"};    @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        choiceShow=(TextView) findViewById(R.id.choiceShow);        show=(Button) findViewById(R.id.show);        //为按钮设置监听器        show.setOnClickListener(new View.OnClickListener()        {            @Override            public void onClick(View arg0)             {                showDialog();            }            //创建一个带有确定按钮的普通对话框            @SuppressLint            ("NewApi") private void showDialog()            {                MyDialogFragment myDialog=new MyDialogFragment();                myDialog.show(getFragmentManager(), "警告");            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }/* * 单选对话框类 * 样式:带有一个普通按钮的对话框 */@SuppressLint({ "ValidFragment", "NewApi" }) class MyDialogFragment extends DialogFragment{    @SuppressLint("NewApi") @Override    public Dialog onCreateDialog(Bundle savedInstanceState)     {        Dialog dialog=null;        //创建单选对话框对象        Builder b=new Builder(getActivity());        b.setIcon(R.drawable.ic_launcher);        b.setTitle("请选择~");        //0设置成默认的选项,既是第一个        b.setSingleChoiceItems(like, 0, new OnClickListener() {            @Override            public void onClick(DialogInterface arg0, int choiceIndex)             {                choiceShow.setText("您选择了:"+(choiceIndex+1)+like[choiceIndex]);            }        });        //为单选列表框添加一个确定按钮        b.setPositiveButton("确定", new OnClickListener()        {            @Override            public void onClick(DialogInterface arg0, int arg1)             {                //无需任何操作            }        });        dialog=b.create();        return dialog;    }}}
原创粉丝点击