我正在创建一个显示对象列表的应用。我有一个错误处理,如果值小于或等于10,下一个和上一个按钮将被隐藏但是当我搜索一个超过10的值时,下一个和上一个按钮仍然是隐藏的
protected void onPostExecute(Void result) {
btnback2 = (Button) findViewById(R.id.back);
btnnext2 = (Button) findViewById(R.id.next);
if (GetSearchValue.size() <= 10) {
btnback2.setVisibility(View.INVISIBLE);
btnnext2.setVisibility(View.INVISIBLE);
}
btnback2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View convertView) {
new ValueBack2().execute();
}
});
btnnext2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View convertView) {
new ValueNext2().execute();
}
});
super.onPostExecute(result);
Asycdialog.dismiss();
}
答案 0 :(得分:1)
我相信这是因为您之后进行了搜索,因此您需要在需要时显示这些小部件,因为它们被之前的搜索隐藏起来。
btnback2.setVisibility((GetSearchValue.size() <= 10) ? View.INVISIBLE : View.VISIBLE);
btnnext2.setVisibility((GetSearchValue.size() <= 10) ? View.INVISIBLE : View.VISIBLE);
为什么要绑定onClickListenrs
中的onPostExecute()
而不是onCreate()
?这不是正确的方法(而且毫无意义)
此外,您无需致电super.onPostExecute()
- 超设计中没有任何设计。
答案 1 :(得分:-1)
试试这段代码: -
protected void onPostExecute(Void result) {
btnback2 = (Button) findViewById(R.id.back);
btnnext2 = (Button) findViewById(R.id.next);
btnback2.setVisibility(View.VISIBLE);
btnnext2.setVisibility(View.VISIBLE);
if (GetSearchValue.size() <= 10){
btnback2.setVisibility(View.INVISIBLE);
btnnext2.setVisibility(View.INVISIBLE);
}
btnback2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View convertView) {
new ValueBack2().execute();
}
});
btnnext2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View convertView) {
new ValueNext2().execute();
}
});
super.onPostExecute(result);
Asycdialog.dismiss();
}