Android 对话框中的OnclickListener
您好,我正在开发一个应用程序,其中我在活动上使用一个对话框,该对话框有一个按钮,但当我想使用OnClickListener(来自活动)时,它不起作用。我试着在互联网上搜索这个问题的解决方案,但是我找不到一个合适的方法来实现它。因此,任何人都可以提出一个这样做的方法Android 对话框中的OnclickListener,android,button,dialog,onclicklistener,Android,Button,Dialog,Onclicklistener,您好,我正在开发一个应用程序,其中我在活动上使用一个对话框,该对话框有一个按钮,但当我想使用OnClickListener(来自活动)时,它不起作用。我试着在互联网上搜索这个问题的解决方案,但是我找不到一个合适的方法来实现它。因此,任何人都可以提出一个这样做的方法 public void btnStartDialog(View view) { final Dialog dialog = new Dialog(this); dialog.requestWindowFeature(W
public void btnStartDialog(View view) {
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog);
final VideoView videoview = (VideoView) dialog.findViewById(R.id.videoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
videoview.setVideoURI(uri);
videoview.start();
videoview.requestFocus();
final Button stop = (Button)dialog.findViewById(R.id.btnStop);
stop.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
videoview.stopPlayback();
dialog.dismiss();
}
});
dialog.show();
Thread timerThread = new Thread() {
public void run() {
try {
sleep(34800);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
videoview.stopPlayback();
dialog.dismiss();
//close();
}
}
};
timerThread.start();
}
BTN XML:
<android.support.design.widget.FloatingActionButton
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/fab_plus"
app:backgroundTint="#d20b0d"
app:borderWidth="0dp"
app:elevation="10dp"
app:fabSize="normal"
android:onClick="btnStartDialog"
app:pressedTranslationZ="12dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp" />
调用
dialog.show()
;完成所有初始化和接口注册后,或者要将对话框与活动分离以使代码模块化,可以执行以下操作:
类
扩展对话框
class
中创建method
以接受OnClickListener
并将其保存在对话框class
中的class
级别李>
activity
,使用activity的
对话框调用方法对话框类中
在对话框按钮上设置一个新的OnClickListener
活动的
OnClickListener
希望有帮助 调用
dialog.show()
;完成所有初始化和接口注册后,或者要将对话框与活动分离以使代码模块化,可以执行以下操作:
类
扩展对话框
class
中创建method
以接受OnClickListener
并将其保存在对话框class
中的class
级别李>
activity
,使用activity的
对话框调用方法对话框类中
在对话框按钮上设置一个新的OnClickListener
活动的
OnClickListener
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = LayoutInflater.from(activity).inflate(R.layout.custom_dialog,
null);
dialog.setContentView(view );
final VideoView videoview = (VideoView) view.findViewById(R.id.videoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
videoview.setVideoURI(uri);
videoview.start();
videoview.requestFocus();
final Button stop = (Button) view.findViewById(R.id.btnStop);
dialog.show();
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
videoview.stopPlayback();
dialog.dismiss();
}
});
这样试试
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = LayoutInflater.from(activity).inflate(R.layout.custom_dialog,
null);
dialog.setContentView(view );
final VideoView videoview = (VideoView) view.findViewById(R.id.videoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
videoview.setVideoURI(uri);
videoview.start();
videoview.requestFocus();
final Button stop = (Button) view.findViewById(R.id.btnStop);
dialog.show();
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
videoview.stopPlayback();
dialog.dismiss();
}
});
在
stop.setOnClickListener
like之后显示对话框
final Dialog dialog = new Dialog(this);
//Your codes here
stop.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
videoview.stopPlayback();
dialog.dismiss();
}
});
dialog.show();
在
stop.setOnClickListener
like之后显示对话框
final Dialog dialog = new Dialog(this);
//Your codes here
stop.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
videoview.stopPlayback();
dialog.dismiss();
}
});
dialog.show();
移动
dialog.show()代码>位于clickListener下方。保留您的代码行对话框。显示();在上面的最终按钮停止=(按钮)对话框中,findViewById(R.id.btnStop);onClickListener下面的行(或)不工作,同样的问题:(移动dialog.show();
在clickListener下面。保留您的代码行dialog.show();在最后一个按钮停止=(按钮)对话框上面。findViewById(R.id.btnStop);onClickListener下面的行(或)不工作,同样的问题:(“调用dialog.show())
在所有初始化和接口注册之后。“这就是重点。”在所有初始化和接口注册之后调用dialog.show()这就是问题所在。@adriantersore相同的错误意思?您是否尝试过在按钮的单击处理程序中烤东西?是否确实调用了它?或者您遇到了一些错误?我在代码中发现了2个问题,1-dialog.show();在onClickListener和第二个非常愚蠢的问题的末尾,它是一个浮动操作按钮xD!Thanks@AdrianTesore相同的错误意味着?您是否尝试过在按钮的单击处理程序中烘烤任何东西?是否确实调用了它?或者您遇到了一些错误?我在代码中发现了2个问题,1-dialog.show();在onClickListener的最后,第二个也是非常愚蠢的问题是它是一个浮动操作按钮xD!谢谢