android 日期大小排序,Android - 按日期排序图像

我在Android上尝试简单的东西 . 我从外部存储器获取图像并将其保存在阵列中 . 我想要做的是显示按日期排序的所有图像 . 我使用Reyclerview来显示图像 . 知道如何按日期排序吗?

Example of my code

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

rvImages = (RecyclerView)findViewById(R.id.rvPictures);

imageLists = getFilePaths();

setAdapter(imageLists);

}

public ArrayList getFilePaths()

{

Uri u = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

String[] projection = {MediaStore.Images.ImageColumns.DATA};

Cursor c = null;

SortedSet dirList = new TreeSet();

ArrayList resultIAV = new ArrayList();

String[] directories = null;

if (u != null)

{

c = managedQuery(u, projection, null, null, null);

}

if ((c != null) && (c.moveToFirst()))

{

do

{

String tempDir = c.getString(0);

tempDir = tempDir.substring(0, tempDir.lastIndexOf("/"));

try{

dirList.add(tempDir);

}

catch(Exception e)

{

Log.d("MainActivity",e.getMessage().toString());

}

}

while (c.moveToNext());

directories = new String[dirList.size()];

dirList.toArray(directories);

}

for(int i=0;i

{

File imageDir = new File(directories[i]);

File[] imageList = imageDir.listFiles();

if(imageList == null)

continue;

for (File imagePath : imageList) {

try {

if(imagePath.isDirectory())

{

imageList = imagePath.listFiles();

}

if ( imagePath.getName().contains(".jpg")|| imagePath.getName().contains(".JPG")

|| imagePath.getName().contains(".jpeg")|| imagePath.getName().contains(".JPEG")

|| imagePath.getName().contains(".png") || imagePath.getName().contains(".PNG") )

{

String path= imagePath.getAbsolutePath();

resultIAV.add(path);

}

}

// }

catch (Exception e) {

e.printStackTrace();

}

}

}

return resultIAV;

}

public class ImageViewAdapter extends RecyclerView.Adapter{

private LayoutInflater inflater;

private Context context;

private ArrayList data;

public ImageViewAdapter(Context context, ArrayList data){

this.context = context;

this.inflater = LayoutInflater.from(context);

this.data = data;

}

@NonNull

@Override

public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View v = inflater.inflate(R.layout.image_item,parent,false);

return new ImageViewHolder(v);

}

@Override

public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {

String imgSrc = data.get(position);

Uri imageUri = Uri.parse(imgSrc);

Log.d("MainActivity:ImagUri: ",imageUri.toString());

holder.imgView.setImageURI(imageUri);

}

@Override

public int getItemCount() {

return data.size();

}

}

public class ImageViewHolder extends RecyclerView.ViewHolder{

private ImageView imgView;

public ImageViewHolder(View itemView){

super(itemView);

imgView = (ImageView)itemView.findViewById(R.id.imgView);

}

}

解决方案可能在光标中?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值