话不多说,直接看代码
public class Album extends Activity implements BGANinePhotoLayout.Delegate ,BGAOnRVItemClickListener ,View.OnClickListener {
private RecyclerView mMomentRv;
private MomentAdapter mMomentAdapter;
private BGANinePhotoLayout mCurrentClickNpl;
Context mContext;
DayRecord dayRecord;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_album);
mContext = this;
initView();
mMomentRv = findViewById(R.id.rv_moment_list_moments);
mMomentAdapter = new MomentAdapter(mMomentRv);
mMomentRv.setLayoutManager(new LinearLayoutManager(this));
mMomentRv.setAdapter(mMomentAdapter);
mMomentAdapter.setOnRVItemClickListener(this);
dayRecord = (DayRecord) getIntent().getSerializableExtra("dayRecord");
mMomentAdapter.setData(dayRecord.getZhaopian());
}
void initView(){
TextView textView = findViewById(R.id.normal_action_bar_textView);
textView.setText("相册");
findViewById(R.id.back_button).setOnClickListener(this);
}
@Override
public void onClickNinePhotoItem(BGANinePhotoLayout ninePhotoLayout, View view, int position, String model, List<String> models) {
mCurrentClickNpl = ninePhotoLayout;
photoPreviewWrapper();
}
@Override
public void onRVItemClick(ViewGroup parent, View itemView, int position) {
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.back_button:
finish();
break;
}
}
private class MomentAdapter extends BGARecyclerViewAdapter<Zhaopian> {
public MomentAdapter(RecyclerView recyclerView) {
super(recyclerView, R.layout.album_item);
}
@Override
protected void fillData(BGAViewHolderHelper helper, int position, Zhaopian zhaopian) {
if (TextUtils.isEmpty(zhaopian.getMemo())) {
helper.setVisibility(R.id.tv_item_moment_content, View.GONE);
} else {
helper.setVisibility(R.id.tv_item_moment_content, View.VISIBLE);
helper.setText(R.id.tv_item_moment_content, zhaopian.getMemo());
}
helper.setText(R.id.tv_item_moment_username,"发布于"+zhaopian.getCreateTime());
BGANinePhotoLayout ninePhotoLayout = helper.getView(R.id.npl_item_moment_photos);
ninePhotoLayout.setDelegate(Album.this);
String[] urls = zhaopian.getResultFile().split(",");
ArrayList<String> photos = new ArrayList<>(Arrays.asList(urls)) ;
ninePhotoLayout.setData(photos);
}
}
private void photoPreviewWrapper() {
if (mCurrentClickNpl == null) {
return;
}
BGAPhotoPreviewActivity.IntentBuilder photoPreviewIntentBuilder = new BGAPhotoPreviewActivity.IntentBuilder(this)
.saveImgDir(null); // 保存图片的目录,如果传 null,则没有保存图片功能
if (mCurrentClickNpl.getItemCount() == 1) {
// 预览单张图片
photoPreviewIntentBuilder.previewPhoto(mCurrentClickNpl.getCurrentClickItem());
} else if (mCurrentClickNpl.getItemCount() > 1) {
// 预览多张图片
photoPreviewIntentBuilder.previewPhotos(mCurrentClickNpl.getData())
.currentPosition(mCurrentClickNpl.getCurrentClickItemPosition()); // 当前预览图片的索引
}
startActivity(photoPreviewIntentBuilder.build());
}
}