我试图在特定对话框中提取用户输入.但是,当我尝试使用findViewbyID并放入时
final EditText ExceedingLimitInput = (EditText)dialog.findViewbyId(R.id.ExceedingLimitInput);
Run Code Online (Sandbox Code Playgroud)
Android Studio说没有定义对话框.我不太清楚我应该在这做什么.
我已经挖掘了一些与此相关的问题,但是大多数问题只与Fragment的使用有关,而我没有使用任何碎片.也许我正在延长错误的课程?
有人可以说明为什么没有定义对话框,以及我如何解决它?
这是我的代码供参考:
设置菜单(主类)
package com.example.denny.protoype2;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class SettingsMenu extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings_menu);
//Exceeding Limit Dialog
final Button ExceedingLimitButton = (Button)findViewById(R.id.ExceedingLimitButton);
ExceedingLimitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Dialog ExceedingLimitDialog = new Dialog(SettingsMenu.this);
ExceedingLimitDialog.setTitle("Exceeding Limit Dialog");
ExceedingLimitDialog.setContentView(R.layout.exceeding_limit_dialog);
ExceedingLimitDialog.show();
final EditText ExceedingLimitInput = (EditText)dialog.findViewbyId(R.id.ExceedingLimitInput);
}
});
}
}
Run Code Online (Sandbox Code Playgroud) 我准备了带有警报对话框的 AsyncTask,其中是 / 否按钮。我需要为 Yes 返回 1,为 No 返回 0。我不完全理解 AsyncTask。添加点击等待时间需要做什么?当前状态不等待
代码类:
class MyTask extends AsyncTask<Void,Integer,Integer> {
TextView ozn_=null;
AlertDialog dialog=null;
AlertDialog.Builder builder=null;
ImageView icon=null;
int ret=0;
public int getRetValue(){
return ret;
}
public MyTask(int a){
ret=a;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
ozn_ = new TextView(LoginActivity.this);
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
ImageView icon = new ImageView(LoginActivity.this);
icon.setBackgroundResource(R.drawable.warn);
builder.setMessage("oznam");
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(set_dp(60), set_dp(60));
icon.setLayoutParams(params);
ozn_.setGravity(Gravity.LEFT);
LinearLayout l1 = new LinearLayout(LoginActivity.this);
l1.setPadding(set_dp(12), set_dp(12), set_dp(12), set_dp(20));
l1.setOrientation(LinearLayout.HORIZONTAL);
l1.setGravity(Gravity.CENTER_VERTICAL);
ozn_.setPadding(set_dp(12), …
Run Code Online (Sandbox Code Playgroud) 如果单击后退按钮,我想向用户显示一个对话框.我用这个创建这样的onBackPressed
方法:
@Override
public void onBackPressed() {
super.onBackPressed();
if (isNew || !isReport) {
if (!edtReportContent.getText().toString().isEmpty() && !edtReportContent.getText().toString().equals("")) {
Toast.makeText(activity, "????? ??? ?? ????? ??? ???? ????? ??!", Toast.LENGTH_LONG).show();
saveReport(1);
} else {
Toast.makeText(activity, "??? ????? ??? ????? ???? ????!", Toast.LENGTH_SHORT).show();
final Dialog dialog = new Dialog(activity);
dialog.setContentView(R.layout.dialog_remove_draft);
Button btnDelete = (Button) dialog.findViewById(R.id.btn_delete);
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
discardReport();
}
});
dialog.setCancelable(false);
dialog.show();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我点击后退按钮时,我的对话框会显示几秒钟并自动消失!问题是什么?
谢谢您的回答.
我是kotlin的新手,在我的应用程序中,我想创建一个自定义对话框.我想展示一个共同的对话框.当我打电话给我的对话时,
InfoMessageDialog(activity, "Test Title", "Test desctiption of the dialog.").show();
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,比如
FATAL EXCEPTION: main
Process: com.bmates.testApp, PID: 4350
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
at com.bmates.testApp.Dialogs.InfoMessageDialog.onCreate(Unknown Source:4)
at android.app.Dialog.dispatchOnCreate(Dialog.java:413)
at android.app.Dialog.show(Dialog.java:308)
at com.bmates.testApp.Fragments.HomeFragment.writeReviewClick$app_debug(HomeFragment.kt:143)
at com.bmates.testApp.Fragments.HomeFragment_ViewBinding$3.doClick(HomeFragment_ViewBinding.java:61)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:6320)
at android.view.View$PerformClick.run(View.java:25087)
at android.os.Handler.handleCallback(Handler.java:869)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:206)
at android.app.ActivityThread.main(ActivityThread.java:6733)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:845)
Run Code Online (Sandbox Code Playgroud)
这是我的kotlin代码,
class InfoMessageDialog(context: Context, private var title : String, private var message : String) : Dialog(context) {
override fun onCreate(savedInstanceState: …
Run Code Online (Sandbox Code Playgroud) 我正在使用这个jquery-ui来显示一个对话框,但它带有一个名为"close"的freebee,我不想要它,
你可以在这里找到其余的代码,为什么我的对话框不起作用
在html中它的出现
<a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button">
<span class="ui-icon ui-icon-closethick">close</span>
</a>
Run Code Online (Sandbox Code Playgroud) 我有这个问题:
\n\nBuilder\n(android.content.Context)\nin Builder\xc2\xa0cannot be applied\nto\n(anonymous android.content.DialogInterface.OnClickListener)\n
Run Code Online (Sandbox Code Playgroud)\n\n在此代码上:
\n\nAlertDialog ventana;\n ventana=new AlertDialog.Builder(this).create();\n ventana.setTitle("COBARDE");\n ventana.setMessage("Rendidse es de debiles,a seguir jugando");\n ventana.show();\n ventana.setButton(8,"Confirmar", new DialogInterface.OnClickListener() {\n public void onClick(DialogInterface dialogo1, int id) {\n aceptar();\n }\n public void aceptar(){\n AlertDialog ventana2;\n ventana2=new AlertDialog.Builder(this).create();\n ventana2.setTitle("puto");\n ventana2.setMessage("Rendidse es de debiles,a seguir jugando");\n ventana2.show();\n }\n\n });\n
Run Code Online (Sandbox Code Playgroud)\n\n有人可以解决这个问题吗?我正在尝试将一个警报对话框放入另一个警报对话框中
\n我有一个按钮,单击时会显示一个对话框。但是,当您多次快速单击按钮时,它将在屏幕上显示2个或更多对话框。取决于您在对话框显示之前单击按钮多少次。所以我必须多次关闭每个对话框...
我已经使用了dialog.isShowing,但是当您多次快速单击按钮时,它似乎将忽略它。
...所以我想在对话框关闭时单击按钮。
private var mFlag = false
fun myButton(view : View) {
var tempDialog = AlertDialog.Builder(this).create()
if (!mFlag) {
myDialog.show()
mFlag = true
}
if(dialog.isShowing){
mFlag = false
}
}
Run Code Online (Sandbox Code Playgroud)