自定义dialog+swich合用

来源:互联网 发布:mc mac版联机 编辑:程序博客网 时间:2024/04/17 02:11

1、自定义dialog的时候要注意很多的小细节,代码如下:

package com.mqp.main;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import com.mqp.servic.Main_Servic;import com.mqp.util.ToastShow;/** * 登陆界面 *  * @author Administrator *  */public class Main extends Activity implements OnClickListener {private Button login = null;private Button config = null;private EditText username = null;private EditText password = null;// 对话框中的属性private String ip = null;private String socket = null;private String other = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);config = (Button) this.findViewById(R.id.config);login = (Button) this.findViewById(R.id.login);username = (EditText) this.findViewById(R.id.username);password = (EditText) this.findViewById(R.id.password);// 设置监听config.setOnClickListener(this);login.setOnClickListener(this);}/** * 实现对Button的监听 */@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.config:// 实例化LayoutInflater类LayoutInflater faInflater = LayoutInflater.from(Main.this);final View view_dialog = faInflater.inflate(R.layout.config_dialog,null);// 对话框布局// 实例化对话框,然后把上面的布局盒子放入对话框中AlertDialog.Builder dialog = new AlertDialog.Builder(Main.this)// 这里也别搞错了.setTitle("配置文件").setView(view_dialog).setPositiveButton("确定",new DialogInterface.OnClickListener() {// 这里别搞错了@Overridepublic void onClick(DialogInterface dialog,int which) {// 获得ViewEditText ip1 = (EditText) view_dialog.findViewById(R.id.ip);EditText socket1 = (EditText) view_dialog.findViewById(R.id.socket);EditText other1 = (EditText) view_dialog.findViewById(R.id.other);// 获得里面的值ip = ip1.getText().toString().trim();socket = socket1.getText().toString().trim();other = other1.getText().toString().trim();}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {}});dialog.create().show();break;case R.id.login:boolean b = Main_Servic.getLogin(username.getText().toString(),password.getText().toString());if (b) {// 跳转到登陆首页Intent intent = new Intent(Main.this, Index.class);startActivity(intent);} else {ToastShow toast = new ToastShow(Main.this);toast.toastShow("用户名或者密码错误!请重新输入!");}break;}}}

3、xml代码如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <!-- IP -->    <TextView        android:id="@+id/username_view"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:gravity="left"        android:text="@string/ip" />    <EditText        android:id="@+id/ip"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:capitalize="none"        android:singleLine="true"        android:gravity="fill_horizontal"        android:scrollHorizontally="true" />    <!-- socket -->    <TextView        android:id="@+id/password_view"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:gravity="left"        android:text="@string/socket" />    <EditText        android:id="@+id/socket"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:capitalize="none"        android:singleLine="true"        android:gravity="fill_horizontal"        android:scrollHorizontally="true" />    <!-- other -->    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:gravity="left"        android:text="@string/other" />    <EditText        android:id="@+id/other"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:singleLine="true"        android:layout_marginRight="20dip"        android:capitalize="none"        android:gravity="fill_horizontal"        android:scrollHorizontally="true" /></LinearLayout>


原创粉丝点击