现在的位置: 首页 > 综合 > 正文

Android菜鸟在成长-对话选项框2单选和复选

2017年09月19日 ⁄ 综合 ⁄ 共 4978字 ⁄ 字号 评论关闭

效果图!!!

单选的!!

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MyLayout"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/mych"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />
    

    <Button
        android:id="@+id/mybut"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择水果" />

    <TextView
        android:id="@+id/mytext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
    
</LinearLayout>

package com.example.dialog1;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.support.v4.app.DialogFragment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
	private Button mybut=null;//定义按钮组件
	private TextView maych=null;//定义文本显示组件
	private TextView matext=null;
	private int chNum=0;//记录选中项
	private String fruitData[]=new String[]{"苹果","西瓜","水蜜桃"};
	private String fruitDesc[]=new String[]{
			"苹果,吃了变笨",
			"西瓜,吃了变傻",
			"水蜜桃,从来没有人吃过那个东西,"
	};
	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		this.mybut=(Button)super.findViewById(R.id.mybut);//取得组件
		this.maych=(TextView)super.findViewById(R.id.mych);//取得组件
		this.matext=(TextView)super.findViewById(R.id.mytext);
		this.mybut.setOnClickListener(new OnClickListenerImpl());//设置单机事件
	}
	private class OnClickListenerImpl implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO 自动生成的方法存根
			Dialog dialog=new AlertDialog.Builder(MainActivity.this)//实列化对向
			.setTitle("请你选择你喜欢的水果")
			.setPositiveButton("确定",
					new DialogInterface.OnClickListener(){//设置操作监听
				public void onClick(DialogInterface dialog,
						int whichButton){//单机事件
					
				}
			}).setNegativeButton("取消",
					new DialogInterface.OnClickListener() {//设置操作监听
						
						@Override
						public void onClick(DialogInterface dialog, int whichButton) {//单机事件
							// TODO 自动生成的方法存根
							
						}
					}).setSingleChoiceItems(MainActivity.this.fruitData,//设置列表选项
							0,//设置第一个按钮被选中
							new DialogInterface.OnClickListener() {
								
								@Override
								public void onClick(DialogInterface dialog, int which) {//设置显示信息
									// TODO 自动生成的方法存根
									MainActivity.this.matext//设置详细信息
									.setText(MainActivity.this.fruitDesc[which]);
									MainActivity.this.chNum=which;//修改选中项
								}
							}).create();
			dialog.show();
		}
		
	}

	@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;
	}

}

复选

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MyLayout"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/mych"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />
    

    <Button
        android:id="@+id/mybut"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择水果" />

    
</LinearLayout>

package com.example.dialog1;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.support.v4.app.DialogFragment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
	private Button mybut=null;//定义按钮组件
	private TextView maych=null;//定义文本显示组件
	private String fruitData[]=new String[]{"苹果","西瓜","水蜜桃"};//单选按钮
	private boolean chData[]=new boolean[]{true,true,false};//默认选中

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		this.mybut=(Button)super.findViewById(R.id.mybut);//取得组件
		this.maych=(TextView)super.findViewById(R.id.mych);//取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());//设置单机事件
	}
	private class OnClickListenerImpl implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO 自动生成的方法存根
			Dialog dialog=new AlertDialog.Builder(MainActivity.this)//实列化对向
			.setTitle("请你选择你喜欢的水果")
			.setPositiveButton("确定",
					new DialogInterface.OnClickListener(){//设置操作监听
				public void onClick(DialogInterface dialog,
						int whichButton){//单机事件
					
				}
			}).setNegativeButton("取消",
					new DialogInterface.OnClickListener() {//设置操作监听
						
						@Override
						public void onClick(DialogInterface dialog, int whichButton) {//单机事件
							// TODO 自动生成的方法存根
							
						}
					}).setMultiChoiceItems(MainActivity.this.fruitData,//设置列表选项
							MainActivity.this.chData,//设置第一个按钮被选中
							new DialogInterface.OnMultiChoiceClickListener() {
								
								@Override
								public void onClick(DialogInterface dialog, int which, boolean isChecked) {//设置显示消息
									// TODO 自动生成的方法存根
									for(int x=0;x<=fruitData.length;x++){
										if(x==which&&isChecked){//被选中
											maych.append(fruitData[x]+"、");
										}
									}
								}
							}).create();
			dialog.show();
		}
		
	}

	@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;
	}

}

抱歉!评论已关闭.