从自己的“自定义活动"中取消android中的底部工作表对话框 [英] Dismiss a bottom sheet dialogue in android from its own Custom Activity

查看:97
本文介绍了从自己的“自定义活动"中取消android中的底部工作表对话框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我借助Chintan Khetiya的以下答案创建了一个自定义的底层工作表android对话:

I have created a custom bottom sheet android dialogue with the help of this answer by Chintan Khetiya:How to create a Custom Dialog box in android?.

我想从BottomDialogue自己的活动中定义的按钮中取消对话,而不是从调用"活动中退出.

I want to dismiss the dialogue from the button defined in the BottomDialogue's own Activity.Not from Calling activity.

这是我在呼叫"活动中的代码,通过单击按钮,在其中创建了我的自定义BottomSheet_liab实例:

Here is my code in the Calling activity in which i have created my custom BottomSheet_liab instance by click of a button:

openBottomDialogeButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                   **//Creating the BottomDialogue Instance**`Bottomsheet_liab dialog;
    dialog=new Bottomsheet_liab(getActivity());
dialog.getWindow().setBackgroundDrawable(newColorDrawable(Color.TRANSPARENT));`

        }
    });

这是我在对话活动中的代码:

Here is my code in the dialogue activity:

public class Bottomsheet_liab extends BottomSheetDialog{
@Override
 protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.cashflow_bottomsheet);
         Button btn=(Button)findViewByID(R.id.btnx);
         btn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                   **//I want to dismiss this BottomSheetDialogue from here.How can I do this>**
        }
    });

}

推荐答案

尝试此操作您需要像下面的代码一样调用 dismiss(); 方法

Try this You need to call dismiss(); method like below code

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
      dismiss();
    }
});

示例代码

public class Bottomsheet_liab extends BottomSheetDialog{
@Override
 protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.cashflow_bottomsheet);
         Button btn=(Button)findViewByID(R.id.btnx);
         btn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                   dismiss();
        }
    });

}

这篇关于从自己的“自定义活动"中取消android中的底部工作表对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆