Como adaptar imágenes en un GridView
Publicado por Luis Rodriguez (8 intervenciones) el 24/10/2017 19:45:42
Tengo la la siguiente duda para ello anexare lo que tengo hecho
Layuot: main_playa
Layuot:contenido_playa
layuot: playa _lista
Main Activity: Main_Playa
lo que necesito saber el como crear un adaptador de imágenes cuando se ingrese datos a una base de datos vincule las imágenes almacenadas en la carpeta drawable con el nombre que se muestre en el TextView = txtN_Playa si el nombre cambia cambie la imagen me facilitaron el siguiente código pero no se como aplicarlo en lo que tengo hecho
if(textView.getText().equals("Playa1")) {tuImageView.setImageResource(R.drawable.playa1);
}else if(textView.getText().equals("Playa2")){tuImageView.setImageResource(R.drawable.playa2);
}
espero de su colaboracion
Layuot: main_playa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=" com.prueba1.Main_Playa ">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/colorTexto"
android:textSize="20sp"
/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/ contenido_playa"/>
</android.support.design.widget.CoordinatorLayout>
Layuot:contenido_playa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:text="center"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.prueba1.Main_Playa"
tools:showIn="@layout/main_playa ">
<GridView
android:id="@+id/txtGrid"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:verticalSpacing="6dp"
android:layout_width="wrap_content"
android:layout_height="340dp"
android:layout_gravity="center"
android:animationCache="true"
android:columnWidth="340dp"
android:isScrollContainer="false"
android:numColumns="1"
android:stretchMode="spacingWidth"
android:textFilterEnabled="false"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="8dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
</GridView>
<include/>
<include/>
</RelativeLayout>
layuot: playa _lista
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:paddingBottom="4dp"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingTop="4dp"
android:weightSum="1">
<TextView
android:id="@+id/txtN_Playa"
style="@android:style/Widget.Button.Inset"
android:layout_width="250dp"
android:layout_height="36dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="Nombre Playa"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textColor="@color/colorPrimaryDark"
android:textSize="16dp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/txtCiudad"
style="@android:style/Widget.Button.Inset"
android:layout_width="125dp"
android:layout_height="36dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/ txtN_Playa "
android:gravity="center"
android:text="Ciudad"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textColor="@color/colorFondo"
android:textSize="14dp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/txtDescripcion "
style="@android:style/Widget.Button.Inset"
android:layout_width="125dp"
android:layout_height="36dp"
android:layout_alignBottom="@+id/txtImgA"
android:layout_below="@+id/ txtN_Playa "
android:layout_toLeftOf="@+id/txtImgA"
android:layout_toRightOf="@+id/ txtCiudad "
android:layout_toStartOf="@+id/txtImgA"
android:gravity="center"
android:text="Descripcion"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
/>
<ImageView
android:id="@+id/txtImgA"
style="@android:style/Widget.Button.Inset"
android:layout_width="82dp"
android:layout_height="72dp"
android:layout_alignBottom="@+id/ txtCiudad "
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/ txtN_Playa "
android:layout_toRightOf="@+id/ txtN_Playa "
/>
</RelativeLayout>
Main Activity: Main_Playa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
public class Main_Playa extends AppCompatActivity {
ArrayList<HashMap<String, String>> PlayaGrid;
ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_playa);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
PlayaGrid = new ArrayList<HashMap<String, String>>();
GridView Grid = (GridView) findViewById(R.id.txtGrid);
new GetPlayaList(Main_Playa.this,Grid).execute("http://0.0.0.00:0000/servicep1.svc/GetPlayas");
}
class GetPlayaList extends AsyncTask<String, Void, String> {
String status= null;
Activity context;
GridView gridView;
public GetPlayaList(Activity context, GridView gridView){
this.context =context;
this.gridView=gridView;
}
protected void onPreExecute(){
}
protected String doInBackground(String... connUrl){
HttpURLConnection conn=null;
BufferedReader reader;
try{
final URL url=new URL(connUrl[0]);
conn=(HttpURLConnection) url.openConnection();
conn.addRequestProperty("Content-Type", "application/json; charset=utf-8");
conn.setRequestMethod("GET");
int result = conn.getResponseCode();
if(result==200){
InputStream in=new BufferedInputStream(conn.getInputStream());
reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb=new StringBuilder();
String line = null;
while((line=reader.readLine())!=null){
status=line;
}
}
}catch(Exception ex){
ex.printStackTrace();
}
return status;
}
protected void onPostExecute(String result){
super.onPostExecute(result);
if(result!=null){
try{
ArrayList<String> stringArrayList = new ArrayList<String>();
JSONArray jsonArray = new JSONArray(result);
for(int i=0; i<jsonArray.length(); i++){
JSONObject object = jsonArray.getJSONObject(i);
String N_Playa= object.getString("N_Playa");
String Ciudad= object.getString("Ciudad ");
String Descripcion= object.getString("Descripcion ");
HashMap<String, String> itemList = new HashMap<String, String>();
itemList.put("N_Playa", N_Playa);
itemList.put("Ciudad",Ciudad);
itemList.put("Descripcion ",Descripcion);
AnimTradGrid.add(itemList);
}
adapter = new SimpleAdapter(Main_Playa.this, PlayaGrid,R.layout.playa_lista,
new String[]
{
"N_Playa",
"Ciudad",
"Descripcion"
},
new int[]
{
R.id.txtN_Playa
R.id.txtCiudad,
R.id.txtDescripcion
});
((AdapterView<ListAdapter>) gridView).setAdapter(adapter);
}catch (Exception ex){
ex.printStackTrace();
}
}else{
Toast.makeText(Main_Playa.this,"Could not get any data.",Toast.LENGTH_LONG).show();
}
}
}
}
lo que necesito saber el como crear un adaptador de imágenes cuando se ingrese datos a una base de datos vincule las imágenes almacenadas en la carpeta drawable con el nombre que se muestre en el TextView = txtN_Playa si el nombre cambia cambie la imagen me facilitaron el siguiente código pero no se como aplicarlo en lo que tengo hecho
if(textView.getText().equals("Playa1")) {tuImageView.setImageResource(R.drawable.playa1);
}else if(textView.getText().equals("Playa2")){tuImageView.setImageResource(R.drawable.playa2);
}
espero de su colaboracion
Valora esta pregunta


0