![](/img/trans.png)
[英]How to set behaivor to bottom sheet dialog without adding to xml layout?
[英]Set onClickListener to button in bottom sheet layout
我想將onClickListener添加到底部工作表布局對話框中的按鈕。 但這是行不通的。 當我單擊按鈕時什么也沒有發生。
碼
button_right = layoutBottomSheet.findViewById(R.id.button_cod);
button_wrong = layoutBottomSheet.findViewById(R.id.button_paytm);
layoutBottomSheet = findViewById(R.id.bottom_sheet_layout);
sheetBehavior = BottomSheetBehavior.from(layoutBottomSheet);
confirmButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (sheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
sheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
} else {
sheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
});
button_right.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(CartActivity.this, "Right", Toast.LENGTH_SHORT).show();
}
});
button_wrong.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(CartActivity.this, "Wrong", Toast.LENGTH_SHORT).show();
}
});
您需要通過id
綁定button
。
喜歡
Button confirmButton = (Button) layoutBottomSheet.findViewById(R.id.confirmButton);
Button button_right = (Button) layoutBottomSheet.findViewById(R.id.button);
同樣,然后您可以單擊。
如果您正在遵循蜂巢教程 ,那么您只需膨脹該布局,然后在該視圖中調用button。
View view = getLayoutInflater().inflate(R.layout.fragment_filters, null);
BottomSheetDialog dialog = new BottomSheetDialog(getActivity());
dialog.setContentView(view);
dialog.show();
final Button button = view.findViewById(R.id.helloworld);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "ok", Toast.LENGTH_LONG).show();
}
});
注意
最后的Button button = view.findViewById(R.id.helloworld);
視野等於
視圖view = getLayoutInflater()。inflate(R.layout.fragment_filters,null);
即我用來顯示在底頁中的片段。 希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.