我正在为Android平板电脑构建一个应用程序框架,我遇到了一些ImageButtons的奇怪问题。这些按钮(Next& Prev)用于帮助浏览“内容页面”作为框架的一部分,并使用自定义背景绘图。
问题是每当我点击Prev按钮时,Next按钮会突出显示,而Prev按钮则没有。起初我认为这是一个简单的链接或@ + id /问题,但执行了Prev按钮的操作,而不是Next按钮。
以下是一些相关代码:
在onCreate()方法中:
nextButton = (ImageButton) findViewById(R.id.nextButton);
prevButton = (ImageButton) findViewById(R.id.prevButton);
nextButton.setOnClickListener(this);
prevButton.setOnClickListener(this);
onClick方法:
public void onClick(View v) {
if(_cpp == null){
finish();
}else if (v == nextButton) {
if (!_cpp.nextRes.equalsIgnoreCase("")) {
// load next page
_tempRes = _cpp.nextRes;
//start transition out animations
fadePageOut();
} else {
finish();
}
} else if (v == prevButton) {
if (!_cpp.prevRes.equalsIgnoreCase("")) {
// load previous page
_tempRes = _cpp.prevRes;
//start transition out animations
fadePageOut();
}
}
}
我的可绘制XML:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable= "@drawable/prev_arrowhigh" />
<item android:state_pressed="true" android:state_enabled="true"
android:drawable="@drawable/prev_arrowhigh" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/prev_arrow" />
<item android:state_enabled="true" android:drawable="@drawable/prev_arrow" />
</selector>
我一直在调试和寻找答案两天,没有运气。有趣的是它过去工作得很好......但即使恢复到我项目的先前版本似乎也没有任何帮助。
之前有没有人遇到过这个问题,或者有什么可能导致这个问题的原因?
答案 0 :(得分:0)
您可以尝试的解决方案是在视图上设置onClick属性。解决方案可能如下所示:
onCreate方法:
nextButton = (ImageButton) findViewById(R.id.nextButton);
prevButton = (ImageButton) findViewById(R.id.prevButton);
活动的新方法:
public void nextButton(View v)
{
if(_cpp == null || _cpp.nextRes.equalsIgnoreCase(""))
{
finish();
return;
}
// load next page
_tempRes = _cpp.nextRes;
//start transition out animations
fadePageOut();
}
public void prevButton(View v)
{
if(_cpp == null)
{
finish();
return;
}
if (!_cpp.prevRes.equalsIgnoreCase(""))
{
// load next page
_tempRes = _cpp.nextRes;
//start transition out animations
fadePageOut();
}
}
并添加: 的机器人:的onClick = “Next按钮”强> 的机器人:的onClick = “prevButton”强>
到xml文件中的按钮
答案 1 :(得分:0)
解决!愚蠢的,愚蠢的我......
下一个按钮显示为已选中,因为在我的代码(部分未发布)中,在我的fadePageOut()方法中禁用了该按钮(请参阅已发布的代码)。状态描述只是将错误的图像用于启用/禁用状态。
此:
<item android:state_enabled="false" android:drawable="@drawable/prev_arrowhigh"/>
应该是:
<item android:state_enabled="false" android:drawable="@drawable/prev_arrow"/>
由于图片不正确,浪费了两天时间......
*叹*