0

レイアウトに4つのボタンがあります。1つは「正解」、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 に答える