0

我的布局上有 4 个按钮。一个是“正确答案”,3 个是“错误答案” 我已经为我的错误答案编写了一个常用方法,但是代码要求我按下那段代码中的不同按钮名称。我该如何管理?

这是我的代码

/* call method for a answer  */
    final Button rredButton=(Button)findViewById(R.id.RredButton);
    rredButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            LayoutInflater layoutInflater
            = (LayoutInflater)getBaseContext()      
            .getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popupright, null);
            final PopupWindow popupWindow = new PopupWindow(               
                    popupView,                
                    LayoutParams.WRAP_CONTENT,                       
                    LayoutParams.WRAP_CONTENT);     
            Button btnNxtScr = (Button)popupView.findViewById(R.id.nextscreen);             
            btnNxtScr.setOnClickListener(new Button.OnClickListener(){     
                @Override     
                public void onClick(View v) {      
                    Intent myintent1 = new Intent(colorActivity.this,LearningTimeMenu.class);
                    startActivity(myintent1);
                }
            });
                    popupWindow.showAsDropDown(rredButton, 50, -300);
        }});

我试着这样做

final Button rblueButton=(Button)findViewById(R.id.RblueButton);
    rblueButton.setOnClickListener(new View.OnClickListener() {
        @Override     
        public void onClick(View arg0) {          
            createWrongPop();      
            }});

并在 createWrongPop() 方法中定义代码的布局充气器部分;但是这行代码 popupWindow.showAsDropDown(rredButton, 50, -330) 需要 3 个按钮中的每一个的按钮 ID。

如何将每个变量传递给方法?

4

1 回答 1

1

接受方法中的参数createWrongPop()并传递方法中接收到的视图onClick

private void createWrongPop(View view){
    //Your logic here
    popupWindow.showAsDropDown(view, 50, -300);
}

final Button rblueButton=(Button)findViewById(R.id.RblueButton);
rblueButton.setOnClickListener(new View.OnClickListener() {
    @Override     
    public void onClick(View arg0) {          
        createWrongPop(arg0);      
    }
});
于 2012-10-01T10:20:53.503 回答