PhotoListActivity.java 源代码


package activity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListAdapter;
import base.HiActivity;
import bean.MyCamera;
import bean.PhotoListItem;
import com.hichip.campro.R;
import common.HiDataValue;
import common.TitleView;
import java.io.File;
import java.util.ArrayList;
import main.adapter.PhotoListAdapter;
import utils.MyToast;

public class PhotoListActivity extends HiActivity implements AdapterView.OnItemClickListener {
    GridView gridview;
    private ArrayList<PhotoListItem> items = new ArrayList<>();
    TitleView titleView;

    @Override
    protected int setLayoutId() {
        return R.layout.activity_photo_list;
    }

    @Override
    protected void init(Bundle bundle) {
        initViewAndData();
        setListeners();
    }

    @Override
    public void onResume() {
        super.onResume();
        this.items.clear();
        readyData();
        this.gridview.setAdapter((ListAdapter) new PhotoListAdapter(this, this.items));
    }

    private void setListeners() {
        this.gridview.setOnItemClickListener(this);
    }

    private void initViewAndData() {
        this.titleView.setButton(0);
        this.titleView.setTitle(getString(R.string.all_pic));
        this.titleView.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
            @Override
            public void OnNavigationButtonClick(int i) {
                if (i != 0) {
                    return;
                }
                PhotoListActivity.this.finish();
            }
        });
    }

    private void readyData() {
        for (MyCamera myCamera : HiDataValue.CameraList) {
            int fileCount = getFileCount(myCamera.getUid());
            if (fileCount > 0) {
                this.items.add(new PhotoListItem(fileCount, myCamera.getNikeName(), getPath(myCamera.getUid()), myCamera.getUid()));
            }
        }
    }

    public int getFileCount(String str) {
        String[] list = new File(HiDataValue.getPathCameraSnapshot(str, this)).list();
        if (list == null) {
            return 0;
        }
        return list.length;
    }

    public String getPath(String str) {
        String pathCameraSnapshot = HiDataValue.getPathCameraSnapshot(str, this);
        String[] list = new File(pathCameraSnapshot).list();
        if (list == null) {
            return null;
        }
        return pathCameraSnapshot + list[0];
    }

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
        if (i < 0) {
            return;
        }
        PhotoListItem photoListItem = this.items.get(i);
        if (getFileCount(photoListItem.getUid()) == 0) {
            MyToast.showToast(this, getString(R.string.tips_no_picture));
            return;
        }
        Bundle bundle = new Bundle();
        bundle.putString(HiDataValue.EXTRAS_KEY_UID, photoListItem.getUid());
        Intent intent = new Intent();
        intent.putExtras(bundle);
        intent.setClass(this, LocalPictureActivity.class);
        startActivity(intent);
    }
}