将onClickListener设置为底部工作表布局中的按钮

时间:2018-04-23 13:12:39

标签: java android bottom-sheet

我想将onClickListener添加到底部工作表布局对话框中的按钮。但它没有用。单击按钮时没有任何反应。

CODE

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

2 个答案:

答案 0 :(得分:0)

您需要button绑定id

Button confirmButton = (Button) layoutBottomSheet.findViewById(R.id.confirmButton);

Button button_right = (Button) layoutBottomSheet.findViewById(R.id.button);

同样然后你可以点击。

答案 1 :(得分:0)

如果您遵循beehive tutorial,则只需为该布局充气,然后在该视图中调用按钮即可。

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 = view.findViewById(R.id.helloworld);

视图等于

  

View view = getLayoutInflater()。inflate(R.layout.fragment_filters,   null);

即我用来显示在底页中的片段。希望这会有所帮助