Yog*_*ari 0 android visibility android-theme android-holo-everywhere
我在微调项目选择时将按钮的可见性设置为可见或消失:-
selectUserTypeSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
FilterUserType newUserType = FilterUserType.get(position);
if(filter.userType != newUserType){
filter.userType = newUserType;
ScrollView mainScrollView = (ScrollView) findViewById(R.id.mainLayout);
switch (newUserType) {
case AnyUser:
case CurrentUser:{
selectUserBtn.setVisibility(View.GONE);
break;
}
case SpecificUser:{
selectUserBtn.setVisibility(View.VISIBLE);
break;
}
default:
break;
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
Run Code Online (Sandbox Code Playgroud)
这里的问题是我的视图在此操作后没有刷新,但是当我在页面上选择一个 EditText 并且键盘已启动时......当时它会刷新并显示所需的行为。
我曾尝试将 switch-case 编辑为:-
switch (newUserType) {
case AnyUser:
case CurrentUser:{
selectUserBtn.setVisibility(View.GONE);
mainScrollView.invalidate();
break;
}
case SpecificUser:{
selectUserBtn.setVisibility(View.VISIBLE);
mainScrollView.invalidate();
break;
}
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但这也不起作用
仅供参考,我HoloEverywhere在我的项目中使用了主题,这个微调器来自 HoloEverywhere 小部件。
小智 6
我有同样的问题。调用 onItemSelected 后,holoeverywhere 的微调器类更新其图形。所以它“覆盖”了你的布局更新。我找到的唯一解决方案是设置一个处理程序来更新 ui,以便在未来 1 秒内执行。像这样:
Handler han = new Handler();
han.postAtTime(new Runnable() {
@Override
public void run() {
// UPDATE UI HERE
}
}, 1000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3726 次 |
| 最近记录: |