我在列表视图中使用分页,当用户向下滚动到列表视图的末尾时,我在列表视图页脚中显示进度条(小)。
LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.list_footer, null);
myListView.addFooter(view).
然后我按如下方式设置我的适配器
ProgressBar progressBar = (ProgressBar) getFooterView().findViewById(R.id.progressBar);
mAdapter = new MyAdapter(BaseActivity.getActivity(), 0, progressBar, myArrayList);
mList.setAdapter(mAdapter);
在我的适配器类中,我在getView()方法中设置进度条可见性,如下所示。
if(position == MAX_RECORDS)
{
progressBar.setVisibility(View.VISIBLE);
// Some code goes here.
} else
progressBar.setVisibility(View.GONE);
但是当列表没有要提取的数据时,ProgressBar不会消失。请帮帮我。
答案 0 :(得分:0)
尝试:
if(position == MAX_RECORDS-1)
{
progressBar.setVisibility(View.VISIBLE);
// Some code goes here.
}
位置从0开始
<强>更新强>
在这里尝试理解您的代码:
public static Date getDateChanged(Date date, int field, int value) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int maximum = calendar.getActualMaximum(field);
if (value > maximum) {
value = maximum;
}
cal.set(field, value);
return cal.getTime();
}
当显示最后一行时,上面的块将被执行。因为之前调用了所有行的getview,并且希望你使用的是convertview,所以else块不会再被执行。
净结果是:对话框将无限期可见。
如果我是对的,你想在加载数据时显示对话框,并在加载完成时隐藏它。有两种情况:
你能否解释一下上述哪一个是真的?
答案 1 :(得分:0)
最初将progressBar设置为可见状态,并使用相同的代码。
答案 2 :(得分:0)
试试这个。这一行的改变会帮助你
/// this code gets executed repeatedly
starNode.physicsBody?.velocity = SCNVector3Zero
applyForce() ///always the same
starNode.eulerAngles = SCNVector3Make(0, Float(90*(M_PI)/180.0), 0)
starNode.position = SCNVector3Make(-0.562, 5.578, -18.529)
而不是
ProgressBar progressBar = (ProgressBar)view.findViewById(R.id.progressBar);