Guest User

Untitled

a guest
Aug 25th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. public class ImageGridFragment2 extends Fragment {
  2. protected AbsListView listView;
  3.  
  4. public static final int INDEX = 1;
  5.  
  6. @Override
  7. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  8. View rootView = inflater.inflate(R.layout.fr_image_grid2, container, false);
  9. listView = (GridView) rootView.findViewById(R.id.grid);
  10. ((GridView) listView).setAdapter(new ImageAdapter(getActivity()));
  11. listView.setOnItemClickListener(new OnItemClickListener() {
  12. @Override
  13. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  14. startImagePagerActivity(position);
  15. }
  16. });
  17. return rootView;
  18. }
  19.  
  20. private void startImagePagerActivity(int position) {
  21. Intent intent = new Intent(getActivity(), SimpleImageActivity.class);
  22. intent.putExtra(Constants.Extra.FRAGMENT_INDEX, ImagePagerFragment.INDEX);
  23. intent.putExtra(Constants.Extra.IMAGE_POSITION, position);
  24. startActivity(intent);
  25. }
  26.  
  27. private class ImageAdapter extends BaseAdapter {
  28.  
  29. private String[] IMAGE_URLS = Constants.IMAGES;
  30.  
  31. private LayoutInflater inflater;
  32.  
  33. private DisplayImageOptions options;
  34.  
  35. ImageAdapter(Context context) {
  36. inflater = LayoutInflater.from(context);
  37.  
  38. options = new DisplayImageOptions.Builder()
  39. .showImageOnLoading(R.drawable.ic_stub)
  40. .showImageForEmptyUri(R.drawable.ic_empty)
  41. .showImageOnFail(R.drawable.ic_error)
  42. .cacheInMemory(true)
  43. .cacheOnDisk(true)
  44. .considerExifParams(true)
  45. .bitmapConfig(Bitmap.Config.RGB_565)
  46. .build();
  47. }
  48.  
  49. @Override
  50. public int getCount() {
  51. return IMAGE_URLS.length;
  52. }
  53.  
  54. @Override
  55. public Object getItem(int position) {
  56. return null;
  57. }
  58.  
  59. @Override
  60. public long getItemId(int position) {
  61. return position;
  62. }
  63.  
  64. @Override
  65. public View getView(int position, View convertView, ViewGroup parent) {
  66. final ViewHolder holder;
  67. View view = convertView;
  68. if (view == null) {
  69. view = inflater.inflate(R.layout.item_grid_image, parent, false);
  70. holder = new ViewHolder();
  71. assert view != null;
  72. holder.text = (TextView) view.findViewById(R.id.text);
  73. holder.imageView = (ImageView) view.findViewById(R.id.image);
  74. holder.progressBar = (ProgressBar) view.findViewById(R.id.progress);
  75. view.setTag(holder);
  76. } else {
  77. holder = (ViewHolder) view.getTag();
  78. }
  79.  
  80. holder.text.setText("Item " + (position + 1));
  81.  
  82. ImageLoader.getInstance()
  83. .displayImage(IMAGE_URLS[position], holder.imageView, options, new SimpleImageLoadingListener() {
  84. @Override
  85. public void onLoadingStarted(String imageUri, View view) {
  86. holder.progressBar.setProgress(0);
  87. holder.progressBar.setVisibility(View.VISIBLE);
  88. }
  89.  
  90. @Override
  91. public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
  92. holder.progressBar.setVisibility(View.GONE);
  93. }
  94.  
  95. @Override
  96. public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
  97. holder.progressBar.setVisibility(View.GONE);
  98. }
  99. }, new ImageLoadingProgressListener() {
  100. @Override
  101. public void onProgressUpdate(String imageUri, View view, int current, int total) {
  102. holder.progressBar.setProgress(Math.round(100.0f * current / total));
  103. }
  104. });
  105.  
  106. return view;
  107. }
  108. }
  109.  
  110. static class ViewHolder {
  111. TextView text;
  112. ImageView imageView;
  113. ProgressBar progressBar;
  114. }
  115. }
  116.  
  117. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  118. android:layout_width="match_parent"
  119. android:layout_height="120dip">
  120.  
  121. <ImageView
  122. android:id="@+id/image"
  123. android:layout_width="match_parent"
  124. android:layout_height="match_parent"
  125. android:adjustViewBounds="true"
  126. android:scaleType="centerCrop" />
  127.  
  128. <ProgressBar
  129. android:id="@+id/progress"
  130. android:layout_width="match_parent"
  131. android:layout_height="wrap_content"
  132. android:indeterminate="false"
  133. android:max="100"
  134. android:layout_gravity="bottom" />
  135. <TextView
  136. android:id="@+id/text"
  137. android:layout_width="wrap_content"
  138. android:layout_height="wrap_content"/>
  139. </FrameLayout>
  140.  
  141. holder.text.setText("Item " + (position + 1));
  142.  
  143. holder.text.setText("свой текст");
Add Comment
Please, Sign In to add comment