我有一个按钮:
.setClickable(false);
和
.getBackground().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY);
初始化时。
然后我等待 GPS 信号,当找到一个 GPS 信号时,我将 setClickable 设置为 true,并将 ColorFilter 设置为 null。这确实有效,但除非在任何地方触摸屏幕,否则不会更新按钮。
我确信这不是 GPS 代码中的一些循环错误,因为一旦按下此按钮,另一个按钮将设置为可点击且过滤器为空,但会发生完全相同的事情。
以前有人经历过吗?它发生在 2.2 和 2.3 中
下面是按钮的 actionlistener 示例:
setgps1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!gps1set)
{
gps1set = true;
setgps1.setText("Reset");
latitude1.setText(latitude1.getText()+ " +/-"+gpsaccuracy+"m");
longitude1.setText(longitude1.getText()+ " +/-"+gpsaccuracy+"m");
altitude1.setText(altitude1.getText() + " +/-"+gpsaccuracy+"m");
latitude1.setTextColor(Color.GREEN);
longitude1.setTextColor(Color.GREEN);
altitude1.setTextColor(Color.GREEN);
save.setClickable(true);
save.getBackground().setColorFilter(null);
}
else
{
gps1set = false;
setgps1.setText("Set GPS 1");
latitude1.setText(""+lat1);
longitude1.setText(""+lon1);
altitude1.setText(""+alt);
latitude1.setTextColor(Color.WHITE);
longitude1.setTextColor(Color.WHITE);
altitude1.setTextColor(Color.WHITE);
save.setClickable(false);
save.getBackground().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY);
}
}
});