Android - obtener contenido de un item de una lisview llena con datos desde mysql

 
Vista:
sin imagen de perfil

obtener contenido de un item de una lisview llena con datos desde mysql

Publicado por kevin ortega (4 intervenciones) el 10/03/2016 22:32:55
Buen dia amigos, antes que nada me disculpo si este tema no esta bien ubicado en el foro,
si es asi porfavor diculpenme es mi primera pregunta,

soy nuevo en android studio y tengo la siguiente duda espero que puedan asesorarme
muchas gracias

tengo una listview llena con datos desde mi base de datos que tengo en hostinger.com

la lista la lleno con tres clases las cuales son :

ContactsServicios,ContactAdapterServicios,DisplayListViewServicios

ContactsServicios
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
package com.example.arsagokps.arsagored1;
 
import android.app.Service;
 
/**
 * Created by arsagokps on 03/03/2016.
 */
public class ContactsServicios {
 
    private String servicio;
 
    public ContactsServicios(String servicio)
    {
 
        this.setServicio(servicio);
 
 
 
 
 
    }
 
    public String getServicio() {
        return servicio;
    }
 
    public void setServicio(String servicio) {
        this.servicio = servicio;
    }
 
 
}

ContactAdapterServicios
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
package com.example.arsagokps.arsagored1;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * Created by arsagokps on 03/03/2016.
 */
public class ContactsAdapterServicios  extends ArrayAdapter {
    List list = new ArrayList();
 
 
    public ContactsAdapterServicios(Context context, int resource) {
        super(context, resource);
    }
 
    public void add(ContactsServicios object) {
        super.add(object);
        list.add(object);
    }
 
    @Override
    public int getCount() {
        return list.size();
 
    }
 
    @Override
    public Object getItem(int position) {
        return list.get(position);
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
 
 
 
        View row;
        row = convertView;
        ContactHolder contactHolder;
        if(row == null)
        {
            LayoutInflater layoutInflater = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = layoutInflater.inflate(R.layout.row_layout_servicios,parent,false);
            contactHolder = new ContactHolder();
            contactHolder.tx_servicio =(TextView) row.findViewById(R.id.tx_servicio);
 
            row.setTag(contactHolder);
 
        }
        else
        {
            contactHolder = (ContactHolder)row.getTag();
        }
 
        ContactsServicios contacts = (ContactsServicios)this.getItem(position);
        contactHolder.tx_servicio.setText(contacts.getServicio());
 
        return row;
    }
 
    static class ContactHolder
    {
        TextView tx_servicio;    //TextView tx_fecha,tx_formatoqr,tx_contenidoqr;
    }
 
 
}

DisplayListViewServicios
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
package com.example.arsagokps.arsagored1;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
public class DisplayListViewServicios extends AppCompatActivity implements ListView.OnItemClickListener {
    String json_string;
    JSONObject jsonObject;
    JSONArray jsonArray;
    ContactsAdapterServicios contactAdapter1;
    ListView listView;
 
 
 
 
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view_layout_servicios);    /// PRUEBAS PARA LISTA setContentView(R.layout.activity_list_view_layout_servicios);
 
 
 
 
        listView = (ListView) findViewById(R.id.listviewservicios);
        contactAdapter1 = new ContactsAdapterServicios(this, R.layout.row_layout_servicios);   ///PRUEBAS PARA LISTA contactAdapter1 = new ContactsAdapterServicios(this,R.layout.row_layout_servicios);
 
        listView.setOnItemClickListener(this);
        json_string = getIntent().getExtras().getString("json_data");
        listView.setAdapter(contactAdapter1);
 
 
        try {
            jsonObject = new JSONObject(json_string);
            jsonArray = jsonObject.getJSONArray("serviciosid");
            int count = 0;
            String servicio;
            while (count < jsonArray.length()) {
 
                JSONObject JO = jsonArray.getJSONObject(count);
                servicio = JO.getString("servicio");
 
 
                ContactsServicios contacts1 = new ContactsServicios(servicio);
                contactAdapter1.add(contacts1);
                count++;
 
 
 
 
 
 
 
            }
 
 
        } catch (JSONException e) {
            e.printStackTrace();
        }
 
 
    }
 
 
   @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
     String value = parent.getItemAtPosition(position).toString();
        Intent nuevoform = new Intent(this,interfasesrgs.class);
        nuevoform.putExtra("Servicios",value);
        startActivity(nuevoform);
 
 
 
 
 
 
 
    }
 
 
 
}

Estas son las clases la cual lleno mi listview (si me equivoco porfavor corregirme)


Esta clase es con la que pretendo recibir el dato del item seleccionado de mi listview

interfasesrgs

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
package com.example.arsagokps.arsagored1;
 
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
 
public class interfasesrgs extends ActionBarActivity {
    private TextView lblmensaje;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_interfasesrgs);
        Intent nuevoform = getIntent();
 
        lblmensaje = (TextView) findViewById(R.id.lblmensaje);
        Bundle parametros = getIntent().getExtras();
 
        if (parametros != null) {
            lblmensaje.setText(parametros.getString("Servicios"));
 
 
        }
    }
 
    public void interR(View view) {
        Intent i = new Intent(this, historialqr.class);
        startActivity(i);
    }
 
}


Este es el xml de interfasesrgs

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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.arsagokps.arsagored1.interfasesrgs">
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="interfas rondines"
        android:id="@+id/interR"
        android:layout_marginTop="46dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="interR" />
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="interfas asistencia guardia"
        android:id="@+id/button3"
        android:layout_above="@+id/button4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="83dp" />
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="historial asistencia supervisor"
        android:id="@+id/button4"
        android:layout_marginBottom="117dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/lblmensaje"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
 
</RelativeLayout>


este es el xml de DisplayListViewServicios

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.arsagokps.arsagored1.DisplayListViewServicios">
 
 
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listviewservicios"
 
        />
 
 
</RelativeLayout>

este es el xml que hace referencia el contactAdapter1 = new ContactsAdapterServicios(this, R.layout.row_layout_servicios);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <TextView
        android:layout_height="match_parent"
        android:layout_width="120dp"
        android:id="@+id/tx_servicio"
        android:gravity="center"
        android:text="Prabeesh"
 
        android:textAppearance="?android:textAppearanceLarge"
 
 
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
 
</RelativeLayout>


lo que requiero hacer el pasar el dato del item de la listview al cual le doy clic pasarlo al textview de la clase interfasesrgs

hasta ahora cuando emulo el programa y le doy clic al primer item de la listview me pasa este dato al textview de la clase interfasesrgs :

com.example.arsagokps.arsagored1.ContactServicios@961f8f3

cuando doy clic en el segundo item me pasa este dato al textview de la clase interfasesrgs

com.example.arsagokps.arsagored1.ContactServicios@20e232b


cuando doy clic en el tercer item me pasa este dato al textview de la clase interfasesrgs

com.example.arsagokps.arsagored1.ContactServicios@45b32a6


y asi si seleccion el item que continua me sigue variando los caracteres que estan despues del @ (lo cual no se que significa)

espero puedan echarme la mano, apoyarme
como les comento soy nuevo en esto de android y despues d leer bastante informacion no puedo encontrar la solucion,
esto lo estoy programando con android studio

muchas gracias por tomarte el tiempo de leer este mensaje

saludos a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 112
Bronce
Ha disminuido 1 puesto en Android (en relación al último mes)
Gráfica de Android

obtener contenido de un item de una lisview llena con datos desde mysql

Publicado por Yamil Bracho (100 intervenciones) el 12/03/2016 15:04:51
El,problema es que estas obteniendo un objeto de tipo ContactServicios. Implementa en esa clase el metodo toString o usa el metodo getItem del adaptador
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener contenido de un item de una lisview llena con datos desde mysql

Publicado por kevin (4 intervenciones) el 15/03/2016 21:05:45
muchas gracias amigo Yamil Bracho investigare el metodo toString para poder implementarlo y te comento en un momento como me fue con esto,

muchas gracias por tomarte la molestia de leer mi post te lo agradesco

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener contenido de un item de una lisview llena con datos desde mysql

Publicado por kevin (4 intervenciones) el 15/03/2016 21:50:27
amigo se que es mucho pedir pero lo intentare, investigue como implementarlo pero no obtengo el resultado

me podrías echar la mano como quedaría mi clase con el método ya implementado

se que es mucho pedir, espero puedas echarme la mano amigo

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar