0

私のレイアウトには4つのボタンがあります。1 つは「正しい」答えで、残りの 3 つは「間違った」答えです。3つの「間違った」ボタンの1つが押された状態で同じポップアップが表示されるようにします。ここに私が持っているコードがあります。

3 つのボタンのそれぞれに対してこのコードを繰り返したくないのですが、異なるボタン名で同じコードを呼び出すにはどうすればよいですか?

    ImageButton rredButton=(ImageButton)findViewById(R.id.RredButton);
    rredButton.setOnClickListener(new View.OnClickListener() {

        @Override
        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 btnDismiss = (Button)popupView.findViewById(R.id.nextscreen);             
            btnDismiss.setOnClickListener(new Button.OnClickListener(){     
                @Override     
                public void onClick(View v) {      
                    Intent myintent1 = new Intent(colorActivity.this,LearningTimeMenu.class);
                    startActivity(myintent1);
                }
            });
        }});
4

1 に答える 1

2

これを試して

private void createPopUP()
{
    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 btnDismiss = (Button)popupView.findViewById(R.id.nextscreen);             
            btnDismiss.setOnClickListener(new Button.OnClickListener(){     
                @Override     
                public void onClick(View v) {      
                    Intent myintent1 = new Intent(colorActivity.this,LearningTimeMenu.class);
                    startActivity(myintent1);
                }
            });

}

ImageButton rredButton=(ImageButton)findViewById(R.id.RredButton);
rredButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {

        createPopUP();

    }});

それ以外の場合は、xml ファイルで使用します。

<Button ..........
 android: onClick ="createPopUP"
</Button>
于 2012-09-28T10:48:56.147 に答える