mascamasca
01/12/12, 00:48:48
Primeramente saludar a todos puesto que es miprimera vez en este foro.
Bueno os explico el problema.
Tengo una actividad con un listview y un adaptador, y cuando se pulsa en uno de elementos de la lista debe pasar a otra actividad en la que nos muestra todos los datos de ese contacto.
os pongo el codigo para que me digais que puede estar mal.
public class lista extends Activity {
private bbdd BBDD;
private int posBBDD=0;
private Cursor dataBBDD;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.lista);
BBDD=new bbdd(this);
ArrayList<String> contactos = new ArrayList <String>();
dataBBDD= BBDD.getReadableDatabase().rawQuery("SELECT nombre FROM "+bbdd.BBDD_TABLA_datos,null);
if(dataBBDD.moveToFirst()){
do{
contactos.add(dataBBDD.getString(0));
}while(dataBBDD.moveToNext());
}
ListView listaCon=(ListView) findViewById(R.id.lstLista);
ArrayAdapter<String> adaptor=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contacto s);
listaCon.setAdapter(adaptor);
OnItemClickListener mMessageClickedHandler=new OnItemClickListener(){
@SuppressWarnings("rawtypes")
public void onItemClick(AdapterView parent, View v, int position,long id){
pasar(position);
//Toast.makeText(getApplicationContext(), "Click en el nombre "+position.toString(), Toast.LENGTH_SHORT).show();
}//fin void onitem
};//fin onitemclicklistener
listaCon.setOnItemClickListener(mMessageClickedHan dler);
BBDD.close();
}
public void pasar( int cual){
Intent pos=new Intent(this,detalle.class);
pos.putExtra("cual",cual);
startActivity(pos);
}
}
y aqui es donde supuestamente muestra los dato del contacto con la posicion que nos pasa de la anterior actividad.
public class detalle extends Activity {
private bbdd BBDD;
private int posBBDD=0;
private Cursor dataBBDD;
private TextView nombre;
private TextView ap1;
private TextView ap2;
private TextView cal;
private TextView num;
private TextView pis;
private TextView let;
int i;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.detalle);
BBDD=new bbdd(this);
Intent cual=getIntent();
i=cual.getIntExtra("position",0);
dataBBDD= BBDD.getReadableDatabase().rawQuery("SELECT * FROM "+bbdd.BBDD_TABLA_datos,null);
nombre=(TextView)this.findViewById(R.id.nom);
ap1=(TextView)this.findViewById(R.id.ape1);
ap2=(TextView)this.findViewById(R.id.ap2);
cal=(TextView)this.findViewById(R.id.via);
num=(TextView)this.findViewById(R.id.num);
pis=(TextView)this.findViewById(R.id.piso);
let=(TextView)this.findViewById(R.id.puerta);
if(dataBBDD.moveToFirst()){
nombre.setText(dataBBDD.getString(1));
ap1.setText(dataBBDD.getString(2));
ap2.setText(dataBBDD.getString(3));
cal.setText(dataBBDD.getString(5));
num.setText(dataBBDD.getString(6));
pis.setText(dataBBDD.getString(7));
let.setText(i);
//let.setText(dataBBDD.getString(8));
}
BBDD.close();
}
}
Muchas gracias por todo.
Bueno os explico el problema.
Tengo una actividad con un listview y un adaptador, y cuando se pulsa en uno de elementos de la lista debe pasar a otra actividad en la que nos muestra todos los datos de ese contacto.
os pongo el codigo para que me digais que puede estar mal.
public class lista extends Activity {
private bbdd BBDD;
private int posBBDD=0;
private Cursor dataBBDD;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.lista);
BBDD=new bbdd(this);
ArrayList<String> contactos = new ArrayList <String>();
dataBBDD= BBDD.getReadableDatabase().rawQuery("SELECT nombre FROM "+bbdd.BBDD_TABLA_datos,null);
if(dataBBDD.moveToFirst()){
do{
contactos.add(dataBBDD.getString(0));
}while(dataBBDD.moveToNext());
}
ListView listaCon=(ListView) findViewById(R.id.lstLista);
ArrayAdapter<String> adaptor=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contacto s);
listaCon.setAdapter(adaptor);
OnItemClickListener mMessageClickedHandler=new OnItemClickListener(){
@SuppressWarnings("rawtypes")
public void onItemClick(AdapterView parent, View v, int position,long id){
pasar(position);
//Toast.makeText(getApplicationContext(), "Click en el nombre "+position.toString(), Toast.LENGTH_SHORT).show();
}//fin void onitem
};//fin onitemclicklistener
listaCon.setOnItemClickListener(mMessageClickedHan dler);
BBDD.close();
}
public void pasar( int cual){
Intent pos=new Intent(this,detalle.class);
pos.putExtra("cual",cual);
startActivity(pos);
}
}
y aqui es donde supuestamente muestra los dato del contacto con la posicion que nos pasa de la anterior actividad.
public class detalle extends Activity {
private bbdd BBDD;
private int posBBDD=0;
private Cursor dataBBDD;
private TextView nombre;
private TextView ap1;
private TextView ap2;
private TextView cal;
private TextView num;
private TextView pis;
private TextView let;
int i;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.detalle);
BBDD=new bbdd(this);
Intent cual=getIntent();
i=cual.getIntExtra("position",0);
dataBBDD= BBDD.getReadableDatabase().rawQuery("SELECT * FROM "+bbdd.BBDD_TABLA_datos,null);
nombre=(TextView)this.findViewById(R.id.nom);
ap1=(TextView)this.findViewById(R.id.ape1);
ap2=(TextView)this.findViewById(R.id.ap2);
cal=(TextView)this.findViewById(R.id.via);
num=(TextView)this.findViewById(R.id.num);
pis=(TextView)this.findViewById(R.id.piso);
let=(TextView)this.findViewById(R.id.puerta);
if(dataBBDD.moveToFirst()){
nombre.setText(dataBBDD.getString(1));
ap1.setText(dataBBDD.getString(2));
ap2.setText(dataBBDD.getString(3));
cal.setText(dataBBDD.getString(5));
num.setText(dataBBDD.getString(6));
pis.setText(dataBBDD.getString(7));
let.setText(i);
//let.setText(dataBBDD.getString(8));
}
BBDD.close();
}
}
Muchas gracias por todo.