1
我有一個按鈕,是具有:在初始化時的Android setColorFilter不更新按鈕
.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);
}
}
});