- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个自定义警报对话框。所以我使用了以下代码。
public class MyAlertDialog extends AlertDialog {
protected MyAlertDialog(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public void show() {
// TODO Auto-generated method stub
super.show();
setContentView(R.layout.logindialog);
}
}
logindialog.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/layoutgrey" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textSize="@dimen/mediuem"
android:text="username" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:textSize="@dimen/mediuem"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText1"
android:layout_marginTop="12dp"
android:textSize="@dimen/mediuem"
android:text= Password" />
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:textSize="@dimen/mediuem"
android:inputType="textPersonName" />
<Button
android:id="@+id/button2"
android:background="@drawable/buttons"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:text="Cancel" />
<Button
android:id="@+id/button1"
android:background="@drawable/buttons"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_below="@+id/editText2"
android:layout_marginLeft="20dp"
android:layout_marginTop="28dp"
android:layout_alignParentLeft="true"
android:text="Ok" />
</RelativeLayout>
所以当我尝试像这样使用自定义创建的按钮时
final MyAlertDialog alert = new MyAlertDialog(Home.this);
alert.show();
Button ok=(Button)alert.findViewById(R.id.button1);
Button cancel=(Button)alert.findViewById(R.id.button2);
ok.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
}
});
它说空指针异常。请帮忙弄清楚这里出了什么问题。
提前致谢
最佳答案
这是一个自定义的是-否对话框。它类似于您要实现的目标。您可以轻松地使其适应您的布局。
在构造函数中扩展您的自定义布局
通过 ID 找到您的 Button
设置 Button
的 OnClickListener
:在 onClick()
中调用一个您稍后需要实现的抽象方法。
public abstract class YesNoDialog extends Dialog
{
private String mMessage = "";
private TextView mText;
private Button mYes;
private Button mNo;
public YesNoDialog(Context context, String message)
{
super(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
View v = getLayoutInflater().inflate(R.layout.yes_no_dialog, null);
mText = (TextView) v.findViewById(R.id.message);
mMessage = message;
mText.setText(mMessage);
mYes = (Button) v.findViewById(R.id.yes);
mYes.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
dismiss();
onYes();
}
});
mNo = (Button) v.findViewById(R.id.no);
mNo.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
dismiss();
onNo();
}
});
setCancelable(false);
setCanceledOnTouchOutside(false);
setContentView(v);
}
public abstract void onYes();
public abstract void onNo();
}
这是如何使用它:
YesNoDialog dialog = new YesNoDialog(this, "message")
{
@Override
public void onYes()
{
// do something
}
@Override
public void onNo()
{
// do something
}
};
dialog.show();
关于android - 带有 setcontentview 的警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362776/
我注意到 Activity 类有一个 setContentView 方法,可以在其中加载 xml 资源文件。我想对一个最终继承自 View 的类做同样的事情。这似乎是一条死胡同,因为 View 类不存
所以我尝试切换布局以获得一个非常简单的两页应用程序。但是,当我单击后退按钮时,setContentView 不起作用。有人知道为什么以及如何解决这个问题吗? 这是我的代码: public class
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我正在尝试这个: setContentView(R.layout.activity_main); main 是我的菜单文件夹中的 main.xml ,但它在 activity_main 中向我显示错误
我搜索了一个小时 - 我找不到错误: public class favdetail extends Activity { @Override public void onCreate(
您好,我是对上一个问题的重新提问,只是因为我之前不清楚。我有一个 json 提要,我在其中找到了数组的长度。它应该产生一个。但我想要做的是,如果要添加第二个项目,则需要使用另一个布局。 所以我目前有一
我是 Android 环境的新手。出于某种原因,我在尝试构建时遇到错误。具体来说,activity_main.xml 布局文件中的这些类型被报告为未找到。但是,我确实在那里看到了它。我的环境似乎有些困
我最近收到了有关创建程序化 View 的问题。为什么所有的 View 都初始化好,所有的参数都设置好了,还要调用setContentView? 简单的例子: override fun onCr
要求 应用需求是当用户安装并首次打开时,会显示LoginActivity,登录成功后,会要求他输入4位passcode,将来使用,如果应用程序保持空闲并且手机被锁定。 设计 我决定将其设计为 One
请检查编辑。 val binding= DataBindingUtil.setContentView(this@MainActivity,R.layout.activity_main) 我收到以
有没有办法将字符串传递给“setContentView()”?即:setContentView(输出)。原因是我有一个用于多个 Activity 的类(自定义 ListView 适配器),我需要为一个
我有一个 MainActivity。有时在加载时我会观察到黑屏一秒钟。我测量了 onCreate 方法中的操作时间,发现 setContentView(R.layout.main_screen); 花
如果我的布局相同但资源发生变化,我可以多次调用 setcontentview 吗?例如,如果图像在 2 个 imageview 小部件中交换?(这实际上是我的应用程序中发生的所有事情) 最佳答案 您可
我的问题是是否可以在 Activity 的 onCreate() 方法中的 setContentView() 之前编写代码。在下面的代码中,我想在 setContentView() 之前调用 setV
在我的应用程序中有两个类,一个是 InternetActivity,它只扩展 Activity 并将 contentview 设置为 main。和扩展广播接收器的 MyClass。 我在 main.x
我正在尝试 android 网站上的第一个教程 here 目标是输入文本并将其传送到下一页以显示它。 但是,我总是收到“不幸的是,我的第一个应用已停止运行”。 我注意到当我注释掉 setContent
我的主要 Activity 是尝试从导入的包中调用方法。我已经在下面发布了调用和方法。我收到的错误消息是该行 setContentView(twitterSite); 我得到一个空点异常!
我今天在 android studio 中遇到了一个错误。我正在尝试在应用程序中创建一个关于我们的屏幕。布局 xml 文件已创建。任何帮助表示赞赏。谢谢。 错误:无法解析方法 setcontentvi
在我的主要 Activity 中,我想对其进行设置,以便我首先看到一个仅显示背景和一些文本的 contentView。 X 秒后,我想切换到另一个 View (GLSurfaceView)。 这显然是
有没有办法在一个 Activity 期间使用不同的 id 多次调用 setContentView(id) 以呈现不同的 View ,或者我是否必须启动一个新的 Activity? 最佳答案 根据 Au
我是一名优秀的程序员,十分优秀!