Advertisement
Guest User

Untitled

a guest
Jun 27th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | None | 0 0
  1. Integer vetor1[] = {R.drawable.imagem1, R.drawable.imagem2,R.drawable.imagem.3, R.drawable.imagem4, R.drawable.imagem5};
  2. Integer vetor2[] = {R.drawable.imagemselecionada1, R.drawable.imagemselecionada2,R.drawable.imagemselecionada3, R.drawable.imagemselecionada4, R.drawable.imagemselecionada5};
  3.  
  4. protected void onCreate(Bundle savedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity);
  7. Adapter adaptader = new Adapter(EscolhaAvatar.this,vetor1,vetor2);
  8. ListView listaImagens = (ListView) findViewById(R.id.list);
  9. listaImagens.setAdapter(adapter);
  10. listaImagens.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
  11.  
  12. listaImagens.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  13. @Override
  14. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  15. desabilitaImagem(view, position);
  16. }
  17. });
  18. }
  19.  
  20. public void desabilitaImagem(View v, int posicao) {
  21. ImageView img = (ImageView) v.findViewById(R.id.img);
  22. listaImagens.setAdapter(adapter);
  23. img.setImageResource(vetor2[posicao]);
  24. }
  25.  
  26. public class SelectableImage {
  27.  
  28. private final int selectedImageResource;
  29. private final int unSelectedImageResource;
  30. private boolean isSelected;
  31.  
  32. public SelectableImage(int selectedImageResource, int unSelectedImageResource){
  33.  
  34. this.selectedImageResource = selectedImageResource;
  35. this.unSelectedImageResource = unSelectedImageResource;
  36. }
  37.  
  38. public boolean isSelected() {
  39. return isSelected;
  40. }
  41.  
  42. public void setSelected(boolean selected) {
  43. isSelected = selected;
  44. }
  45.  
  46. public int getImageResource(){
  47. return isSelected ? selectedImageResource : unSelectedImageResource;
  48. }
  49. }
  50.  
  51. public class SelectableImageGroup {
  52.  
  53. private ArrayList<SelectableImage> list;
  54. private SelectableImage selectedImage;
  55.  
  56. public SelectableImageGroup(){
  57. list = new ArrayList<>();
  58. }
  59.  
  60. public void add(SelectableImage selectableImage){
  61. list.add(selectableImage);
  62. }
  63.  
  64. public void setSelectedImage(SelectableImage selectedImage){
  65. if(this.selectedImage == selectedImage)return;
  66. if(!list.contains(selectedImage))throw new IndexOutOfBoundsException();
  67. if (this.selectedImage != null) {
  68. this.selectedImage.setSelected(false);
  69. }
  70. this.selectedImage = selectedImage;
  71. selectedImage.setSelected(true);
  72. }
  73.  
  74. public void setSelectedPosition(int position){
  75. SelectableImage selectedImage = list.get(position);
  76. setSelectedImage(selectedImage);
  77. }
  78.  
  79. public ArrayList<SelectableImage> getArray(){
  80. return list;
  81. }
  82. }
  83.  
  84. public class SelectableImageGroupAdapter extends ArrayAdapter<SelectableImage> {
  85.  
  86. private final LayoutInflater layoutInflater;
  87. private final Context context;
  88. private final int listItemResource;
  89. private final SelectableImageGroup selectableImageGroup;
  90.  
  91. public SelectableImageGroupAdapter(Context context, int listItemResource,
  92. SelectableImageGroup selectableImageGroup) {
  93. super(context, listItemResource, selectableImageGroup.getArray());
  94.  
  95. this.context = context;
  96. this.listItemResource = listItemResource;
  97. this.selectableImageGroup = selectableImageGroup;
  98. layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  99. }
  100.  
  101. @Override
  102. public View getView(int position, View convertView, ViewGroup parent) {
  103.  
  104. View view = convertView;
  105. if(view == null){
  106. view = layoutInflater.inflate(listItemResource, parent, false);
  107. }
  108.  
  109. final SelectableImage selectableImage = getItem(position);
  110. ImageView imageView = (ImageView)view.findViewById(R.id.image);
  111. imageView.setImageResource(selectableImage.getImageResource());
  112.  
  113. //Ver nota
  114. /*imageView.setOnClickListener(new View.OnClickListener() {
  115. @Override
  116. public void onClick(View view) {
  117. selectableImageGroup.setSelectedImage(selectableImage);
  118. notifyDataSetChanged();
  119. }
  120. });*/
  121.  
  122. return view;
  123. }
  124. }
  125.  
  126. <?xml version="1.0" encoding="utf-8"?>
  127. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  128. android:orientation="vertical" android:layout_width="match_parent"
  129. android:layout_height="match_parent">
  130.  
  131. <ImageView
  132. android:id="@+id/image"
  133. android:layout_width="wrap_content"
  134. android:layout_height="wrap_content"/>
  135. </LinearLayout>
  136.  
  137. public class MainActivity extends AppCompatActivity {
  138.  
  139. private SelectableImageGroup selectableImageGroup;
  140. private SelectableImageGroupAdapter adapter;
  141. @Override
  142. protected void onCreate(Bundle savedInstanceState) {
  143. super.onCreate(savedInstanceState);
  144. setContentView(R.layout.activity_main);
  145.  
  146. selectableImageGroup = new SelectableImageGroup();
  147. selectableImageGroup.add(new SelectableImage(R.drawable.imagem1,
  148. R.drawable.imagemselecionada1));
  149. selectableImageGroup.add(new SelectableImage(R.drawable.imagem2,
  150. R.drawable.imagemselecionada2));
  151. selectableImageGroup.add(new SelectableImage(R.drawable.imagem3,
  152. R.drawable.imagemselecionada3));
  153. selectableImageGroup.add(new SelectableImage(R.drawable.imagem4,
  154. R.drawable.imagemselecionada4));
  155. selectableImageGroup.add(new SelectableImage(R.drawable.imagem5,
  156. R.drawable.imagemselecionada5));
  157.  
  158. ListView listView = (ListView)findViewById(R.id.listView);
  159.  
  160. adapter = new SelectableImageGroupAdapter(this,
  161. R.layout.list_item, selectableImageGroup);
  162.  
  163. listView.setAdapter(adapter);
  164.  
  165. //**** Ver nota ******
  166. listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  167. @Override
  168. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  169. selectableImageGroup.setSelectedPosition(position);
  170. adapter.notifyDataSetChanged();
  171. }
  172. });
  173. //*********************
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement