我有这个ToggleButton,它应该在切换开/关时更改其他按钮的drawable(和功能)。

到目前为止,通过使用此代码,我仅设法使其工作了一种方式。

    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    toggle = (ToggleButton) findViewById(R.id.bRedGreen);
    toggle.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            minuskugle = (Button) findViewById(R.id.bBallhole);
            minuskugle.setBackgroundResource(R.drawable.redballinhole);

        }

    });
}


如何使其再次将可绘制对象重新设置为默认值?

__________________________________________________________________________________

这适用于一个条目。

但是,如果我添加多个条目,则会出现“ else”错误。

这有效:

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            pluskugle = (Button) findViewById(R.id.bBallhole);
            minuskugle = (Button) findViewById(R.id.bBallhole);

            pluskegle = (Button) findViewById(R.id.bKegle);
            minuskegle = (Button) findViewById(R.id.bKegle);

        if(toggle.isChecked())
            minuskugle.setBackgroundResource(R.drawable.redballinhole);
        else
            pluskugle.setBackgroundResource(R.drawable.whiteballhole);


这不是

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            pluskugle = (Button) findViewById(R.id.bBallhole);
            minuskugle = (Button) findViewById(R.id.bBallhole);

            pluskegle = (Button) findViewById(R.id.bKegle);
            minuskegle = (Button) findViewById(R.id.bKegle);

        if(toggle.isChecked())
            minuskugle.setBackgroundResource(R.drawable.redballinhole);
            minuskegle.setBackgroundResource(R.drawable.redkegle);
        else
            pluskugle.setBackgroundResource(R.drawable.whiteballhole);
            pluskegle.setBackgroundResource(R.drawable.redkegle);

最佳答案

尝试这个:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    toggle = (ToggleButton) findViewById(R.id.bRedGreen);
    toggle.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            minuskugle = (Button) findViewById(R.id.bBallhole);
            if(toggle.isChecked())
               minuskugle.setBackgroundResource(R.drawable.redballinhole);
            else
               minuskugle.setBackgroundResource(R.drawable.xy);


        }

    });
}

关于java - <ToggleButton> onClickListener-将可绘制对象更改回默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9062104/

10-12 01:34