gpt4 book ai didi

java - 修改listView的一个项目

转载 作者:行者123 更新时间:2023-12-01 13:47:02 25 4
gpt4 key购买 nike

我正在完成与 friend 一起制作的应用程序,但是当 ListView 显示俱乐部的同事时,我遇到了问题,它为您提供了每个人编辑或修改其个人资料中的信息的选项。我想知道我该怎么做?是否有必要转到创建它们的相同布局来修改它们?

(抱歉,有listView的代码)

AltaSocio.java

package com.example.polideportivo1;

import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;



public class AltaSocio extends Activity {
Socios nuevosSocio = new Socios(0,"","","","","","","","",0,0,"");
private EditText editDocumento;
private EditText editApellido;
private EditText editNombre;
private CheckBox checkBoxM;
private CheckBox checkBoxF;
private EditText editCivil;
private Spinner Nacionalidad;
private EditText Nacimiento;
private EditText Domicilio;
private Spinner Localidad;
private EditText Celular;
private EditText TelFijo;
private EditText Correo;
String miNacionalidad;
String miLocalidad;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alta_socio2);

editDocumento = (EditText)findViewById(R.id.editDocumento);
editApellido = (EditText)findViewById(R.id.editApellido);
editNombre = (EditText)findViewById(R.id.editNombre);
editCivil = (EditText)findViewById(R.id.editCivil);
Nacimiento = (EditText)findViewById(R.id.editNacimiento);
Domicilio = (EditText)findViewById(R.id.editDomicilio);
Celular = (EditText)findViewById(R.id.editCelular);
TelFijo = (EditText)findViewById(R.id.editFijo);
Correo = (EditText)findViewById(R.id.editCorreo);
checkBoxM = (CheckBox)findViewById(R.id.checkM);
checkBoxF = (CheckBox)findViewById(R.id.checkF);
Nacionalidad = (Spinner)findViewById(R.id.spinnerNacionalidad);
Localidad = (Spinner)findViewById(R.id.spinnerLocalidad);

final Button BtnCrear = (Button)findViewById(R.id.botonCrear);
final Button BtnCerrar = (Button)findViewById(R.id.buttonAtras);



ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Nacionalidad, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
Nacionalidad.setAdapter(adapter);

Nacionalidad.setOnItemSelectedListener(new OnItemSelectedListener () {


@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
parent.getItemAtPosition(pos);
miNacionalidad = Nacionalidad.getItemAtPosition(pos).toString();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
//another call

}

});

ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.Localidad, android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_item);
Localidad.setAdapter(adapter2);

Localidad.setOnItemSelectedListener(new OnItemSelectedListener () {


@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
parent.getItemAtPosition(pos);
miLocalidad = Localidad.getItemAtPosition(pos).toString();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
//another call

}
});




}

public void grabar(View v) {
nuevosSocio.setCI(Integer.parseInt(editDocumento.getText().toString()));
nuevosSocio.setApellido(editApellido.getText().toString());
nuevosSocio.setNombre(editNombre.getText().toString());
nuevosSocio.setEstadoCivil(editCivil.getText().toString());

DateFormat formateador = new SimpleDateFormat("dd/MM/yyyy");
DateFormat DataSocio;

try {
String Fecha =(Nacimiento.getText().toString());
formateador.parse(Fecha);
nuevosSocio.setFechaNacimiento(Fecha);
}
catch (ParseException e)
{
Toast g = Toast.makeText(this, "Formato Fecha no valido", Toast.LENGTH_LONG);

}
nuevosSocio.setDomicilio(Domicilio.getText().toString());
nuevosSocio.setTelefonoCelular(Integer.parseInt(Celular.getText().toString()));
nuevosSocio.setTelefonoFijo(Integer.parseInt(TelFijo.getText().toString()));
nuevosSocio.setCorreo(Correo.getText().toString());
if (checkBoxM.isChecked()) {
nuevosSocio.setSexo("Masculino");
} else {
nuevosSocio.setSexo("Femenino");
}
nuevosSocio.setNacionalidad(miNacionalidad);
nuevosSocio.setLocalidad(miLocalidad);



VariablesGlobales.getInstance().getSocios().add(nuevosSocio);
Toast t = Toast.makeText(this, "Los datos fueron grabados",
Toast.LENGTH_SHORT);
t.show();
finish();
}



}

alta_socio2.xml

<RelativeLayout 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>

<TextView
android:id="@+id/textTituloAlta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/TituloAlta"
android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
android:id="@+id/editDocumento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textMenuAlta"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="number"
android:text="@string/IdDocumento" />

<EditText
android:id="@+id/editNombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editDocumento"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="textPersonName"
android:text="@string/IdNombre" />

<TextView
android:id="@+id/textMenuAlta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textTituloAlta"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="@string/MenuAlta" />

<EditText
android:id="@+id/editApellido"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editNombre"
android:layout_alignRight="@+id/editDocumento"
android:layout_below="@+id/editNombre"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="textPersonName"
android:text="@string/IdApellido" />

<TextView
android:id="@+id/textSexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editApellido"
android:layout_marginTop="20dp"
android:text="@string/IdSexo" />

<CheckBox
android:id="@+id/checkM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/textSexo"
android:layout_alignBottom="@+id/textSexo"
android:layout_alignBaseline="@+id/textSexo"
android:text="@string/IdSM" />

<CheckBox
android:id="@+id/checkF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textSexo"
android:layout_alignBottom="@+id/textSexo"
android:layout_toRightOf="@+id/checkM"
android:text="@string/IdSF" />

<EditText
android:id="@+id/editCivil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textSexo"
android:layout_alignRight="@+id/editApellido"
android:layout_below="@+id/textSexo"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="text"
android:text="@string/IdEstadoCivil" />

<Spinner
android:id="@+id/spinnerNacionalidad"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_alignLeft="@+id/checkF"
android:layout_alignRight="@+id/editCivil"
android:layout_below="@+id/editCivil"
android:layout_marginTop="20dp" />

<EditText
android:id="@+id/editNacimiento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editDomicilio"
android:layout_alignRight="@+id/spinnerNacionalidad"
android:layout_below="@+id/spinnerNacionalidad"
android:layout_centerVertical="true"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="date"
android:text="@string/IdFechaNacimiento" />

<EditText
android:id="@+id/editDomicilio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editNacimiento"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="text"
android:text="@string/IdDomicilio"/>

<Spinner
android:id="@+id/spinnerLocalidad"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_alignLeft="@+id/spinnerNacionalidad"
android:layout_below="@+id/editDomicilio"
android:layout_marginTop="20dp" />

<TextView
android:id="@+id/textNacionalidad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editCivil"
android:layout_alignTop="@+id/spinnerNacionalidad"
android:text="@string/IdNacionalidad" />

<TextView
android:id="@+id/textLocalidad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editDomicilio"
android:layout_alignTop="@+id/spinnerLocalidad"
android:text="@string/IdLocalidad" />

<EditText
android:id="@+id/editCelular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@+id/spinnerLocalidad"
android:ems="10"
android:inputType="phone"
android:text="@string/IdTelefonoCelular" />

<EditText
android:id="@+id/editFijo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@+id/editCelular"
android:ems="10"
android:inputType="phone"
android:text="@string/IdTelefonoFijo" />

<EditText
android:id="@+id/editCorreo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editFijo"
android:layout_alignRight="@+id/spinnerLocalidad"
android:layout_below="@+id/editFijo"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="textEmailAddress"
android:text="@string/IdDireccionCorreo" />

<TextView
android:id="@+id/textFoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editCorreo"
android:text="@string/IdFoto"
android:layout_marginTop="20dp" />

<ImageView
android:id="@+id/imageFoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editCorreo"
android:layout_toLeftOf="@+id/botonImagen"
android:layout_toRightOf="@+id/textFoto"
android:layout_marginTop="20dp"
/>

<Button
android:id="@+id/botonImagen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editCorreo"
android:layout_marginTop="20dp"
android:layout_alignRight="@+id/editCorreo"
android:text="@string/BotonImagen" />

<Button
android:id="@+id/botonAtras"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/botonImagen"
android:layout_marginTop="20dp"
android:layout_alignRight="@+id/botonImagen"
android:text="@string/BotonFichaAtras"/>

<Button
android:id="@+id/botonCrear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/botonImagen"
android:layout_marginTop="20dp"
android:layout_alignLeft="@+id/textFoto"
android:text="@string/BotonCrear"
android:onClick="grabar"/>

</RelativeLayout>

</ScrollView>

lista_socio_main.xml

    <?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:id="@+id/TituloSocio"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/TituloSocio"
android:textSize="25sp"/>

<ListView
android:id="@+id/ListaMainSocio"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/TituloSocio"
android:layout_marginTop="5dp"/>

</RelativeLayout>

lista_socio.xml

<?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:padding="4dp">

<TextView
android:id="@+id/textNombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/IdNombre"
android:textSize="13sp" />

<TextView
android:id="@+id/textApellido"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textNombre"
android:layout_marginTop="5dp"
android:text="@string/IdApellido"
android:textSize="13sp"/>

<Button
android:id="@+id/btnEdit"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#99CC"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="Edit"
android:textColor="#FFFFFF" />

<Button
android:id="@+id/btnDelete"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/btnEdit"
android:layout_marginTop="3dp"
android:background="#99CC"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="Delete"
android:textColor="#FFFFFF" />

<TextView
android:id="@+id/textCI"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textApellido"
android:layout_marginTop="5dp"
android:text="@string/IdDocumento"
android:textSize="13sp" />

<TextView
android:id="@+id/textSexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textCI"
android:layout_marginTop="5dp"
android:text="@string/IdSexo"
android:textSize="13sp" />

<TextView
android:id="@+id/textEstadoCivil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textSexo"
android:layout_marginTop="5dp"
android:text="@string/IdEstadoCivil"
android:textSize="13sp" />

<TextView
android:id="@+id/textNacionalidad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textEstadoCivil"
android:layout_marginTop="5dp"
android:text="@string/IdNacionalidad"
android:textSize="13sp" />

<TextView
android:id="@+id/textNacimiento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textNacionalidad"
android:layout_marginTop="5dp"
android:text="@string/IdFechaNacimiento"
android:textSize="13sp" />

<TextView
android:id="@+id/textDomicilio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textNacimiento"
android:layout_marginTop="5dp"
android:text="@string/IdDomicilio"
android:textSize="13sp" />

<TextView
android:id="@+id/textLocalidad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textDomicilio"
android:layout_marginTop="5dp"
android:text="@string/IdLocalidad"
android:textSize="13sp" />

<TextView
android:id="@+id/textTelFijo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textLocalidad"
android:layout_marginTop="5dp"
android:text="@string/IdTelefonoFijo"
android:textSize="13sp" />

<TextView
android:id="@+id/textTelCel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textTelFijo"
android:layout_marginTop="5dp"
android:text="@string/IdTelefonoCelular"
android:textSize="13sp" />

<TextView
android:id="@+id/textCorreo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textTelCel"
android:layout_marginTop="5dp"
android:text="@string/IdDireccionCorreo"
android:textSize="13sp" />

</RelativeLayout>

ArrayAdapterSocio.java

package com.example.polideportivo1;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;

public class ArrayAdapterSocio extends ArrayAdapter<Socios>{

Context context;
int layoutResourceId;
ArrayList<Socios>socio = VariablesGlobales.getInstance().getSocios();

public ArrayAdapterSocio(Context context, int layoutResourceId, ArrayList<Socios> soc) {
super(context, layoutResourceId, soc);
this.context= context;
this.layoutResourceId = layoutResourceId;
this.socio = soc;


}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View item = convertView;
CapturadorSocio CapturadorSocio = null;

if (item == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
item = inflater.inflate(layoutResourceId, parent, false);
CapturadorSocio = new CapturadorSocio();
CapturadorSocio.nombre = (TextView) item.findViewById(R.id.textNombre);
CapturadorSocio.apellido = (TextView) item.findViewById(R.id.textApellido);
CapturadorSocio.documento = (TextView) item.findViewById(R.id.textCI);
CapturadorSocio.sexo = (TextView) item.findViewById(R.id.textSexo);
CapturadorSocio.estadoCivil = (TextView) item.findViewById(R.id.textEstadoCivil);
CapturadorSocio.nacionalidad = (TextView) item.findViewById(R.id.textNacionalidad);
CapturadorSocio.fechaNacimiento = (TextView) item.findViewById(R.id.textNacimiento);
CapturadorSocio.domicilio = (TextView) item.findViewById(R.id.textDomicilio);
CapturadorSocio.localidad = (TextView) item.findViewById(R.id.textLocalidad);
CapturadorSocio.telfijo = (TextView) item.findViewById(R.id.textTelFijo);
CapturadorSocio.telcelular = (TextView) item.findViewById(R.id.textTelCel);
CapturadorSocio.correo = (TextView) item.findViewById(R.id.textCorreo);
CapturadorSocio.edit = (Button) item.findViewById(R.id.btnEdit);
CapturadorSocio.delete = (Button) item.findViewById(R.id.btnDelete);
item.setTag(CapturadorSocio);
} else {
CapturadorSocio = (CapturadorSocio) item.getTag();
}

Socios socios = socio.get(position);
CapturadorSocio.nombre.setText(socios.obtenerNombre());
CapturadorSocio.apellido.setText(socios.obtenerApellido());
//CapturadorSocio.documento.setText(socios.obtenerCI());
CapturadorSocio.sexo.setText(socios.obtenerSexo());
CapturadorSocio.estadoCivil.setText(socios.obtenerEstadoCivil());
CapturadorSocio.nacionalidad.setText(socios.obtenerNacionalidad());
CapturadorSocio.fechaNacimiento.setText(socios.obtenerFechaNacimiento());
CapturadorSocio.domicilio.setText(socios.obtenerDomicilio());
CapturadorSocio.localidad.setText(socios.obtenerLocalidad());
CapturadorSocio.telfijo.setText(socios.obtenerTelefonoFijo());
CapturadorSocio.telcelular.setText(socios.obtenerCelular());
CapturadorSocio.correo.setText(socios.obtenerCorreo());


return item;

}





static class CapturadorSocio {
TextView nombre;
TextView apellido;
TextView documento;
TextView sexo;
TextView estadoCivil;
TextView nacionalidad;
TextView fechaNacimiento;
TextView domicilio ;
TextView localidad;
TextView telfijo;
TextView telcelular;
TextView correo;
Button edit;
Button delete;
}
}

ListarSocio.java

package com.example.polideportivo1;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

public class ListarSocio extends Activity {
ListView listview;
ArrayAdapterSocio socioArrayAdapter;
ArrayList<Socios>socio = VariablesGlobales.getInstance().getSocios();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_socio_main);

socioArrayAdapter = new ArrayAdapterSocio(ListarSocio.this, R.layout.list_socio, socio);
listview = (ListView)findViewById(R.id.ListaMainSocio);
listview.setItemsCanFocus(false);
listview.setAdapter(socioArrayAdapter);
}



}

最佳答案

一种选择是让您的 ArrayAdapterSocio.java 实现 View.OnClickListener,这样您就可以像这样定义您的类:

public class ArrayAdapterSocio extends ArrayAdapter<Socios> implements View.OnClickListener{

// Your previous code

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Your previous code
CapturadorSocio.edit.setTag(socios.obtenerId);
// Hopefully you have a method to identify your memebers by Id.
// Otherwise, use another unique identifier, like their name.
}

@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.btnEdit:
// The edit button was clicked, launch your edition here.
// You can get the Id of the member by calling v.getTag(),
// use that to launch edition on the correct member.
break;

default:
break;
}
}
}

您可以重用您的成员创建布局甚至 Activity/fragment ,但您不必这样做。 Espero haber ayudado;)

关于java - 修改listView的一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20289898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com