更新 RecyclerView 中选中的 Progressbar
Update Selected Progressbar in RecyclerView
我有一个自定义适配器,其中包含一些 TextViews
和 ProgressBars
。当用户单击每一行时,我想显示所选行的 ProgressBar
并更新值。这是我的适配器:
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
public TextView from, subject;
public ProgressBar progressBar;
public MyViewHolder(View view) {
super(view);
from = (TextView) view.findViewById(R.id.from);
subject = (TextView) view.findViewById(R.id.txt_primary);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
view.setOnLongClickListener(this);
}
}
这是我在 MainActivity 中的点击事件
@Override
public void onMessageRowClicked(int position) {
if (mAdapter.getSelectedItemCount() > 0) {
enableActionMode(position);
} else {
message = messages.get(position);
message.setRead(true);
messages.set(position, message);
mAdapter.notifyDataSetChanged();
downloadFile(message.getFrom(), getBaseUrl() + message.getLink());
}
}
这是我的下载文件
private void downloadFile(final String filename, final String path){
int downloadId = PRDownloader.download(path, dPath, mylFileName)
.build()
.setOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(Progress progress) {
}
})
.start(new OnDownloadListener() {
@Override
public void onDownloadComplete() {
}
}
@Override
public void onError(Error error) {
}
});
}
}).execute(path);
}
}
我是初学者,不知道该怎么做。
使用它在 onMessageRowClicked() 方法中显示 ProgressBar 的值
progressBar.setProgress(value);//value will be of Integer type
这样,
.setOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(Progress progress) {
long progressPercent = progress.currentBytes * 100 / progress.totalBytes;
progressBar.setProgress((int) progressPercent);
progressBar.setIndeterminate(false);
}
})
我有一个自定义适配器,其中包含一些 TextViews
和 ProgressBars
。当用户单击每一行时,我想显示所选行的 ProgressBar
并更新值。这是我的适配器:
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
public TextView from, subject;
public ProgressBar progressBar;
public MyViewHolder(View view) {
super(view);
from = (TextView) view.findViewById(R.id.from);
subject = (TextView) view.findViewById(R.id.txt_primary);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
view.setOnLongClickListener(this);
}
}
这是我在 MainActivity 中的点击事件
@Override
public void onMessageRowClicked(int position) {
if (mAdapter.getSelectedItemCount() > 0) {
enableActionMode(position);
} else {
message = messages.get(position);
message.setRead(true);
messages.set(position, message);
mAdapter.notifyDataSetChanged();
downloadFile(message.getFrom(), getBaseUrl() + message.getLink());
}
}
这是我的下载文件
private void downloadFile(final String filename, final String path){
int downloadId = PRDownloader.download(path, dPath, mylFileName)
.build()
.setOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(Progress progress) {
}
})
.start(new OnDownloadListener() {
@Override
public void onDownloadComplete() {
}
}
@Override
public void onError(Error error) {
}
});
}
}).execute(path);
}
}
我是初学者,不知道该怎么做。
使用它在 onMessageRowClicked() 方法中显示 ProgressBar 的值
progressBar.setProgress(value);//value will be of Integer type
这样,
.setOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(Progress progress) {
long progressPercent = progress.currentBytes * 100 / progress.totalBytes;
progressBar.setProgress((int) progressPercent);
progressBar.setIndeterminate(false);
}
})