1

私はChintan Khetiya:How to create a Custom Dialog box in android?によってこの回答の助けを借りてカスタムボトムシートのアンドロイドダイアログを作成しました。自分のカスタムアクティビティからアンドロイドでボトムシートのダイアログを閉じる

BottomDialogueの独自のアクティビティで定義されたボタンからダイアログを閉じたいと考えています。呼び出しアクティビティではありません。ここで

は、私は、ボタンのクリックで私のカスタムBottomSheet_liabインスタンスを作成している通話活性の私のコードです:ここでは

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));` 

     } 
    }); 

は対話活動で私のコードです:

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>** 
     } 
    }); 

} 

答えて

0

あなたは、コード

btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     dismiss(); 
    } 
}); 
0以下のような ​​メソッドを呼び出す必要があり、これを試してみてください

サンプルコード

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(); 
     } 
    }); 

} 
+1

ありがとうございます! –

+0

@shubhamsainiはうれしい – Prem

0

ちょうどあなたのクリックリスナの内側()メソッドを解任使用

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="250dp" 
     android:id="@+id/bottomsheet" 
     android:clipToPadding="true" 
     android:background="@color/colorwhite" 
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> 

     <ImageView 
      android:layout_gravity="center" 
      android:src="@drawable/logowhite" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      /> 

     <TextView 
      android:layout_gravity="center" 
      android:textSize="@dimen/textsizenormal" 
      android:textColor="@color/colortheme" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/exit" 
      android:padding="16dp"/> 

     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <Button 
       android:id="@+id/cancelbtn" 
       android:text="Cancel" 
       android:textColor="@color/colorwhite" 
       android:layout_margin="10dp" 
       android:textSize="@dimen/textsizenormal" 
       android:background="@drawable/buttonclick" 
       android:layout_weight="1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" /> 
      <Button 
       android:id="@+id/okaybtn" 
       android:text="Okay" 
       android:textColor="@color/colorwhite" 
       android:layout_margin="10dp" 
       android:textSize="@dimen/textsizenormal" 
       android:background="@drawable/buttonclick" 
       android:layout_weight="1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" /> 
     </LinearLayout> 
    </LinearLayout> 
0

次のように次のコード

private Button startbtn, okaybtn, cancelbtn; 
BottomSheetDialog mBottomSheetDialog; 
View sheetView; 

    mBottomSheetDialog = new BottomSheetDialog(HomeActivity.this); 
    sheetView = getLayoutInflater().inflate(R.layout.botomdialouge,null); 
    mBottomSheetDialog.setContentView(sheetView); 


    okaybtn = sheetView.findViewById(R.id.okaybtn); 
    cancelbtn = sheetView.findViewById(R.id.cancelbtn); 

    okaybtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      finish(); 
     } 
    }); 

    cancelbtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mBottomSheetDialog.dismiss(); 
     } 
    }); 

レイアウトコードを試してみてください。

btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       dismiss(); 
    } 
}); 
関連する問題