android - <ToggleButton> onClickListener - 创建/删除按钮+向按钮添加内容

标签 android button togglebutton

我的 ToggleButton 有这个问题。 我希望它在切换时创建/删除按钮,同时向按钮添加内容/功能,例如可绘制对象等。

这是当前代码:

            public class BillardScoreboardActivity extends Activity {
/** Called when the activity is first created. */
Button minuskegle, minuskugle, pluskugle, pluskegle, plusmidkegle, minusmidkegle, miss;
ToggleButton toggle;
LinearLayout bottomlayout;


@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
            pluskugle = (Button) findViewById(R.id.bBallhole);
            minuskugle = (Button) findViewById(R.id.bBallhole);

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

            plusmidkegle = (Button) findViewById(R.id.bKeglemid);
            minusmidkegle = (Button) findViewById(R.id.bKeglemid);

            bottomlayout = (LinearLayout) findViewById(R.id.bottomlayout);

            miss = (Button) findViewById(R.id.bMiss);

        if(toggle.isChecked())
        {
            minuskugle.setBackgroundResource(R.drawable.redballinhole);
            minuskegle.setBackgroundResource(R.drawable.redkegle);
            minusmidkegle.setBackgroundResource(R.drawable.midkegleminus);
            miss.setBackgroundResource(R.drawable.missbutton);

            miss.setVisibility(View.VISIBLE);

        }

        else 
        {
            pluskugle.setBackgroundResource(R.drawable.whiteballinhole);
            pluskegle.setBackgroundResource(R.drawable.kegleb);
            plusmidkegle.setBackgroundResource(R.drawable.midkegleplus);
            miss.setVisibility(View.GONE);

        }

        }

    });
}

目前的问题是在这部分代码中找不到(buttontest):

            else 
        {
            pluskugle.setBackgroundResource(R.drawable.whiteballinhole);
            pluskegle.setBackgroundResource(R.drawable.kegleb);
            plusmidkegle.setBackgroundResource(R.drawable.midkegleplus);
            bottomlayout.removeView(buttontest);

        }

而如前所述,第二个问题是让按钮继承一些功能/内容。

enter image description here 对于更大的版本: http://i.imgur.com/KxKvh.png

顺便说一句...每次我启动该应用程序时,它都会给我 2 个应用程序供我选择,其中只有底部的应用程序有效:

enter image description here

最佳答案

我想问题是切换按钮的初始状态是“已选中”。这意味着当您第一次单击它时,isChecked() 将返回 false 并且您的代码的 else 部分将被执行。但那时,buttontest 还没有被添加到 bottomlayout 中。

我建议您默认将按钮放在布局中,并在您想隐藏它时调用 buttontest.setVisibility(View.GONE) ,在需要显示时调用 buttontest.setVisibility(View.VISIBLE) 。 至于你的第二个问题,只需调用 setBackgroundResource/Drawable 来添加内容(就像你已经在使用其他按钮一样)。如果您说要添加功能,我假设您打算在单击按钮时执行某些操作?如果是,添加一个 View.OnClickListener。 希望我能帮到你。

关于android - <ToggleButton> onClickListener - 创建/删除按钮+向按钮添加内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348693/

相关文章:

android - 如何更改切换按钮中的指示器颜色(Android)

android - Admob 广告和 Firebase 广告之间的区别

android - fragment 有时会在返回堆栈时保存变量

html - 我如何使用定制的按钮类作为 Paypal 立即购买按钮?

javascript - jquery-切换设置状态而不触发更改事件

WPF:为什么嵌套样式并不总是有效?

android - tabhost 或布局将 admob 横幅推到屏幕下方

android - 如何查看 AIDE 警告?

javascript - 同一页面上有许多相同的按钮和(折叠的)div。如何使用 Jquery 使每个按钮展开适当的 div?

swift - 当 uitableview 部分折叠时,单元格中的按钮不会隐藏