这才是更有用的环节,这个例子显示如下:
点击按键后,显示:
步骤
1. 新建一个mylogindialog.xml在res/layout分支下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="login"
/>
<EditText
android:id="@+id/myedittext1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="username"
/>
<EditText
android:id="@+id/myedittext2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="password"
/>
</LinearLayout>
2. main.xml 里加一个show dialog按钮
3. 代码
//------------------------代码------------------------------
package com.stephenzhu.hello2;
//import android.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Hello2Activity extends Activity {
AlertDialog dlg;
EditText myedittext1;
EditText myedittext2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//create a customize dialog:
LayoutInflater myinflater = LayoutInflater.from(Hello2Activity.this);
final View mydialogview = myinflater.inflate(R.layout.mylogindialog, null);
myedittext1 = (EditText) mydialogview.findViewById(R.id.myedittext1); //注意这个地方mydialogview这个一定要加,否则指针不正确,会在读它的时候异常退出
myedittext2 = (EditText) mydialogview.findViewById(R.id.myedittext2);
dlg = new AlertDialog.Builder(Hello2Activity.this)
.setTitle("登录框标题")
.setView(mydialogview)//在这一步实现了和资源文件中的mylogindialog的关联
.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
DisplayToast("你按下了登录,username:"+myedittext1.getText()+", password:"+myedittext2.getText());
}
})
.setNeutralButton("取消", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
DisplayToast("你取消了");
}
})
.create();
//create dialog end
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dlg.show();
}
});
}
/* 显示Toast */
public void DisplayToast(String str)
{
Toast toast = Toast.makeText(this, str, Toast.LENGTH_LONG);
//设置toast显示的位置
toast.setGravity(Gravity.TOP, 0, 220);
//显示该Toast
toast.show();
}
}
这个例子和上一个简单对话框的例子我打了一个包,保存到自己的信箱了,哪位需要请email我
点击按键后,显示:
1. 新建一个mylogindialog.xml在res/layout分支下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="login"
/>
<EditText
android:id="@+id/myedittext1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="username"
/>
<EditText
android:id="@+id/myedittext2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="password"
/>
</LinearLayout>
2. main.xml 里加一个show dialog按钮
3. 代码
//------------------------代码------------------------------
package com.stephenzhu.hello2;
//import android.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Hello2Activity extends Activity {
AlertDialog dlg;
EditText myedittext1;
EditText myedittext2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//create a customize dialog:
LayoutInflater myinflater = LayoutInflater.from(Hello2Activity.this);
final View mydialogview = myinflater.inflate(R.layout.mylogindialog, null);
myedittext1 = (EditText) mydialogview.findViewById(R.id.myedittext1); //注意这个地方mydialogview这个一定要加,否则指针不正确,会在读它的时候异常退出
myedittext2 = (EditText) mydialogview.findViewById(R.id.myedittext2);
dlg = new AlertDialog.Builder(Hello2Activity.this)
.setTitle("登录框标题")
.setView(mydialogview)//在这一步实现了和资源文件中的mylogindialog的关联
.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
DisplayToast("你按下了登录,username:"+myedittext1.getText()+", password:"+myedittext2.getText());
}
})
.setNeutralButton("取消", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
DisplayToast("你取消了");
}
})
.create();
//create dialog end
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dlg.show();
}
});
}
/* 显示Toast */
public void DisplayToast(String str)
{
Toast toast = Toast.makeText(this, str, Toast.LENGTH_LONG);
//设置toast显示的位置
toast.setGravity(Gravity.TOP, 0, 220);
//显示该Toast
toast.show();
}
}
这个例子和上一个简单对话框的例子我打了一个包,保存到自己的信箱了,哪位需要请email我