我的ToggleButton存在这个问题。 我希望它在切换时创建/删除按钮,同时向按钮添加内容/功能,如drawable等。
这是当前的代码:
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);
}
如前所述,第二个问题是让按钮继承一些函数/内容。
更大版本: http://i.imgur.com/KxKvh.png
顺便说一句......每当我启动应用程序时,它都会给我2个应用程序供选择,其中只有底层应用程序可以运行:
答案 0 :(得分:1)
我猜问题是togglebutton的初始状态是'已检查'。这意味着当您第一次单击它时,isChecked()将返回false,并且将执行代码的else部分。但到那时,还没有将buttontest添加到bottomlayout。
我建议您默认情况下在布局中使用按钮,并在需要显示时隐藏它并调用buttontest.setVisibility(View.VISIBLE)。
至于你的第二个问题,只需调用setBackgroundResource / Drawable来添加内容(就像你已经使用其他按钮一样)。如果您说要添加功能,我假设您打算在单击按钮时执行某些操作?如果是,请添加View.OnClickListener。
希望我能帮到你。