Java ArrayAdapter使用按钮删除项目
我有点问题,我创建了一个arrayadapter,它工作得很好,但是当我单击delete按钮时,它会删除该项,但listview不会更改。我现在丢失了一些代码,但我不知道它是什么 ListarSocio.javaJava ArrayAdapter使用按钮删除项目,java,android,listview,Java,Android,Listview,我有点问题,我创建了一个arrayadapter,它工作得很好,但是当我单击delete按钮时,它会删除该项,但listview不会更改。我现在丢失了一些代码,但我不知道它是什么 ListarSocio.java package com.example.polideportivo1; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.Vi
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);
}
}
package com.example.polideportivo1;
import java.util.ArrayList;
import java.util.List;
import javax.xml.datatype.Duration;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
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(final 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());
CapturadorSocio.delete.setOnClickListener(new OnClickListener () {
@Override
public void onClick(View v) {
Socios borrarSocio = socio.get(position);
VariablesGlobales.getInstance().getSocios().remove(borrarSocio);
}});
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;
}
}
package com.example.polilapracivo1;
导入java.util.ArrayList;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ListView;
导入android.widget.Toast;
公共类ListarSocio扩展了活动{
列表视图列表视图;
arrayadapter社会适应arrayadapter;
ArrayListSocial=VariablesGlobales.getInstance().GetSocials();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list\u\u main);
SocialArrayAdapter=新的ArrayAdapterSocial(ListarSocio.this,R.layout.list_social,social);
listview=(listview)findViewById(R.id.ListaMainSocio);
setItemsCanFocus(false);
setAdapter(SocialArrayAdapter);
}
}
ArrayAdapterSocial.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);
}
}
package com.example.polideportivo1;
import java.util.ArrayList;
import java.util.List;
import javax.xml.datatype.Duration;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
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(final 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());
CapturadorSocio.delete.setOnClickListener(new OnClickListener () {
@Override
public void onClick(View v) {
Socios borrarSocio = socio.get(position);
VariablesGlobales.getInstance().getSocios().remove(borrarSocio);
}});
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;
}
}
package com.example.polilapracivo1;
导入java.util.ArrayList;
导入java.util.List;
导入javax.xml.datatype.Duration;
导入android.app.Activity;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.TextView;
导入android.widget.Toast;
公共类ArrayAdapter扩展ArrayAdapter{
语境;
国际布局资源;
ArrayListSocial=VariablesGlobales.getInstance().GetSocials();
公共ArrayAdapterSocial(上下文、内部布局资源ID、ArrayList soc){
超级(上下文、布局资源ID、soc);
this.context=context;
this.layoutResourceId=layoutResourceId;
这是社会经济=soc;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
视图项=转换视图;
Capturalorscio Capturalorscio=null;
如果(项==null){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
item=充气机。充气(layoutResourceId,父项,false);
CapturardorSocio=新CapturardorSocio();
capturalorsocio.nombre=(TextView)item.findViewById(R.id.textNombre);
capturalorsocio.apellido=(TextView)item.findViewById(R.id.textApellido);
capturalorsocio.documento=(TextView)item.findViewById(R.id.textCI);
capturalorsocio.sexo=(TextView)item.findViewById(R.id.textSexo);
capturalorscio.estadoCivil=(TextView)item.findViewById(R.id.textEstadoCivil);
capturalorsocio.nationalidad=(TextView)item.findViewById(R.id.textNationalidad);
capturalorsocio.fechaNacimiento=(TextView)item.findViewById(R.id.textNacimiento);
CapturadorSocio.domicilio=(TextView)item.findViewById(R.id.textDomicilio);
capturalorscio.localidad=(TextView)item.findViewById(R.id.textLocalidad);
capturalorsocio.telfijo=(TextView)item.findViewById(R.id.textTelFijo);
capturalorsocio.telcelular=(TextView)item.findViewById(R.id.textTelCel);
capturalorsocio.correo=(TextView)item.findViewById(R.id.textCorreo);
capturalorsocio.edit=(按钮)item.findViewById(R.id.btnEdit);
//capturalorsocio.delete=(按钮)item.findViewById(R.id.btnDelete);
项目.setTag(CapturatorSocio);
}否则{
capturalorscio=(capturalorscio)item.getTag();
}
Socios-Socios=social.get(位置);
capturalorscio.nombre.setText(socios.obtenerNombre());
capturalorscio.apellido.setText(socios.obtenerApellido());
capturalorscio.documento.setText(socios.obtenerCI());
capturalorsocio.sexo.setText(socios.obtenersex());
capturalorscio.estadoCivil.setText(socios.obtenerEstadoCivil());
CapturatorSocio.nacionalidad.setText(socios.obtenerNacionalidad());
capturalorscio.fechaNacimiento.setText(socios.obtenerFechaNacimiento());
CapturadorSocio.domicilio.setText(socios.obtenerDomicilio());
capturalorscio.localidad.setText(socios.obtenerLocalidad());
capturalorscio.telfijo.setText(socios.obtenerTelefonoFijo());
capturalorscio.telcelular.setText(socios.obtenercellular());
capturalorscio.correo.setText(socios.obtenerCorreo());
capturalorscio.delete.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Socios borrarSocio=social.get(位置);
VariablesGlobales.getInstance().getSocials().remove(BorraSocial);
}});
退货项目;
}
静态类CapturatorSocio{
文本视图名称;
TextView-apellido;
文本视图文档;
TextView-sexo;
TextView estadoCivil;
全国文本视图;
TextView fechaNacimiento;
文本视图住所;
文本视图;
TextView telfijo;
TextView telcelular;
TextView correo;
按钮编辑;
按钮删除;
}
}
删除项目时,应将其从列表中删除,然后在适配器实例上调用notifyDataSetChanged()
。
希望这对您有所帮助当您删除某个项目时,您应该将其从列表中删除,然后在适配器实例上调用notifyDataSetChanged()
。
希望对您有所帮助按钮单击事件侦听器的代码在哪里?删除项目时,您需要在适配器上调用notifyDataSetChanged
。请在适配器上使用notifyDataSetChanged。b的代码在哪里