如何添加TextView的和使用的EditText默认AlertDialog编程 [英] How to add TextView and EditText using default AlertDialog programmatically
本文介绍了如何添加TextView的和使用的EditText默认AlertDialog编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直想在默认AlertDialog添加两个元素,但我似乎无法使它工作。这里是我的code:
//启动对话框
AlertDialog.Builder alertDialogBuilder =新AlertDialog.Builder(本); TextView的电视=新的TextView(本);
tv.setText(职称);
tv.setPadding(40,40,40,40);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(20); 等的EditText =新的EditText(本);
。etStr = et.getText()的toString(); alertDialogBuilder.setView(等);
alertDialogBuilder.setTitle(职称);
alertDialogBuilder.setMessage(输入学号);
alertDialogBuilder.setCustomTitle(电视); 如果(ISERROR)
alertDialogBuilder.setIcon(R.drawable.icon_warning);
// alertDialogBuilder.setMessage(消息);
alertDialogBuilder.setCancelable(假); //设置负取消按钮
alertDialogBuilder.setNegativeButton(取消,新DialogInterface.OnClickListener(){
公共无效的onClick(DialogInterface对话,诠释whichButton){
dialog.cancel();
}
}); //设置正是按钮
alertDialogBuilder.setPositiveButton(OK,
新DialogInterface.OnClickListener(){
公共无效的onClick(DialogInterface对话,诠释它){
如果(ISERROR)
完();
其他{
意向意图=新意图(
ChangeDeviceActivity.this,
MyPageActivity.class);
startActivity(意向);
}
}
}); AlertDialog alertDialog = alertDialogBuilder.create(); 尝试{
alertDialog.show();
}赶上(例外五){
//窗口管理$ BadTokenException将被捕获和应用程序会
//不显示'强制关闭的消息
e.printStackTrace();
}
目前,这仅仅是一个的EditText
与 alertDialogBuilder.setMessage(输入学号)成立的消息;
,但我想使这个的TextView
这样我就可以居中证明它。我该怎么做呢?
解决方案
AlertDialog.Builder alertDialogBuilder =新AlertDialog.Builder(本); 的LinearLayout布局=新的LinearLayout(本);
LinearLayout.LayoutParams PARMS =新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(PARMS); layout.setGravity(Gravity.CLIP_VERTICAL);
layout.setPadding(2,2,2,2); TextView的电视=新的TextView(本);
tv.setText(职称);
tv.setPadding(40,40,40,40);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(20); 等的EditText =新的EditText(本);
。etStr = et.getText()的toString();
TextView的TV1 =新的TextView(本);
tv1.setText(输入学号); LinearLayout.LayoutParams tv1Params =新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
tv1Params.bottomMargin = 5;
layout.addView(TV1,tv1Params);
layout.addView(ET,新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT)); alertDialogBuilder.setView(布局);
alertDialogBuilder.setTitle(职称);
// alertDialogBuilder.setMessage(输入学号);
alertDialogBuilder.setCustomTitle(电视); 如果(ISERROR)
alertDialogBuilder.setIcon(R.drawable.icon_warning);
// alertDialogBuilder.setMessage(消息);
alertDialogBuilder.setCancelable(假); //设置负取消按钮
alertDialogBuilder.setNegativeButton(取消,新DialogInterface.OnClickListener(){
公共无效的onClick(DialogInterface对话,诠释whichButton){
dialog.cancel();
}
}); //设置正是按钮
alertDialogBuilder.setPositiveButton(OK,新DialogInterface.OnClickListener(){
公共无效的onClick(DialogInterface对话,诠释它){
如果(ISERROR)
完();
其他{
意向意图=新意图(ChangeDeviceActivity.this,
MyPageActivity.class); startActivity(意向);
}
}
}); AlertDialog alertDialog = alertDialogBuilder.create(); 尝试{
alertDialog.show();
}赶上(例外五){
//窗口管理$ BadTokenException将被捕获和应用程序会
//不显示'强制关闭的消息
e.printStackTrace();
}
I've been trying to add two elements in a default AlertDialog but I can't seem to make it work. Here's my code:
// START Dialog
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
TextView tv = new TextView(this);
tv.setText(title);
tv.setPadding(40, 40, 40, 40);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(20);
EditText et = new EditText(this);
etStr = et.getText().toString();
alertDialogBuilder.setView(et);
alertDialogBuilder.setTitle(title);
alertDialogBuilder.setMessage("Input Student ID");
alertDialogBuilder.setCustomTitle(tv);
if (isError)
alertDialogBuilder.setIcon(R.drawable.icon_warning);
// alertDialogBuilder.setMessage(message);
alertDialogBuilder.setCancelable(false);
// Setting Negative "Cancel" Button
alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
// Setting Positive "Yes" Button
alertDialogBuilder.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (isError)
finish();
else {
Intent intent = new Intent(
ChangeDeviceActivity.this,
MyPageActivity.class);
startActivity(intent);
}
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
try {
alertDialog.show();
} catch (Exception e) {
// WindowManager$BadTokenException will be caught and the app would
// not display the 'Force Close' message
e.printStackTrace();
}
For now, this is only an EditText
with a message set by alertDialogBuilder.setMessage("Input Student ID");
but I want to make this a TextView
so I can center-justify it. How do I do this?
解决方案
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
LinearLayout layout = new LinearLayout(this);
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(parms);
layout.setGravity(Gravity.CLIP_VERTICAL);
layout.setPadding(2, 2, 2, 2);
TextView tv = new TextView(this);
tv.setText(title);
tv.setPadding(40, 40, 40, 40);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(20);
EditText et = new EditText(this);
etStr = et.getText().toString();
TextView tv1 = new TextView(this);
tv1.setText("Input Student ID");
LinearLayout.LayoutParams tv1Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
tv1Params.bottomMargin = 5;
layout.addView(tv1,tv1Params);
layout.addView(et, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
alertDialogBuilder.setView(layout);
alertDialogBuilder.setTitle(title);
// alertDialogBuilder.setMessage("Input Student ID");
alertDialogBuilder.setCustomTitle(tv);
if (isError)
alertDialogBuilder.setIcon(R.drawable.icon_warning);
// alertDialogBuilder.setMessage(message);
alertDialogBuilder.setCancelable(false);
// Setting Negative "Cancel" Button
alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
// Setting Positive "Yes" Button
alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (isError)
finish();
else {
Intent intent = new Intent( ChangeDeviceActivity.this,
MyPageActivity.class); startActivity(intent);
}
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
try {
alertDialog.show();
} catch (Exception e) {
// WindowManager$BadTokenException will be caught and the app would
// not display the 'Force Close' message
e.printStackTrace();
}
这篇关于如何添加TextView的和使用的EditText默认AlertDialog编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文