我正在制作Android应用并遇到一个奇怪的问题。我需要一个ViewFlipper 5个标签。我为一个有5个按钮的页面做了一个布局。我使用OnClickListener
并且翻转标签工作正常,但我需要setPressed(true)
一个按钮,我不能这样做。有重复的问题或其他问题。我在网上寻找解决方案,但没有其他人有这个问题?我做错了什么?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
factory = getLayoutInflater();
skin = factory.inflate(R.layout.skin_tab_raspored, null);
vremelayout = (LinearLayout) skin.findViewById(R.id.vreme);
infolayout = (LinearLayout) skin.findViewById(R.id.info);
buttons[0] = (Button) skin.findViewById(R.id.pon);
buttons[1] = (Button) skin.findViewById(R.id.uto);
buttons[2] = (Button) skin.findViewById(R.id.sre);
buttons[3] = (Button) skin.findViewById(R.id.cet);
buttons[4] = (Button) skin.findViewById(R.id.pet);
buttons[0].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
flipper_info.setDisplayedChild(0);
buttons[currentTab].setPressed(false);
currentTab = 0;
buttons[0].setPressed(true);
}
});
buttons[1].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
flipper_info.setDisplayedChild(1);
buttons[currentTab].setPressed(false);
currentTab = 1;
buttons[1].setPressed(true);
}
});
buttons[2].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
flipper_info.setDisplayedChild(2);
buttons[currentTab].setPressed(false);
currentTab = 2;
buttons[2].setPressed(true);
}
});
buttons[3].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
flipper_info.setDisplayedChild(3);
buttons[currentTab].setPressed(false);
currentTab = 3;
buttons[3].setPressed(true);
}
});
buttons[4].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
flipper_info.setDisplayedChild(4);
buttons[currentTab].setPressed(false);
currentTab = 4;
buttons[4].setPressed(true);
}
});
buttons[0].setPressed(true);
add_time(); //adding content to vremelayout
flipper_info = new ViewFlipper(this);
flipper_info.addView(this.addContentToInfo(Dan.pon));//adding content to infolayout
flipper_info.addView(this.addContentToInfo(Dan.uto));
flipper_info.addView(this.addContentToInfo(Dan.sre));
flipper_info.addView(this.addContentToInfo(Dan.cet));
flipper_info.addView(this.addContentToInfo(Dan.pet));
infolayout.addView(flipper_info);
setContentView(skin);
}
答案 0 :(得分:1)
在每个clickListener
中使用setPressed的setEnabled() flipper_info.setDisplayedChild(0);
buttons[currentTab].setEnabled(true);
currentTab = 0;
buttons[0].setEnabled(false);
或强>
对于背景颜色更改使用toggleButton,它将允许您为clickListener内的开/关状态设置选择器...切换状态。