電話番号をクリックして、リストの一番下の位置に電話番号の配列を表示するリストビューのアイテムを送信しようとしています。
私の main.xml には listview といくつかのボタンがあり、R.layout.numberlayout には行のレイアウトがあり、CheckBox と 2 つの TextViews (heregoesthenumber と heregoestheid) があります。
私は ListNumberAdapter で OnClickListener を TextView heregoesthenumber に定義しようとしているので、番号をクリックするたびにリストのボタンになります。tvn.setOnClickListener を使用して、クリックしたものとまったく同じ新しい番号を作成し、元の番号を削除しようとしましたが、ListView のチェックボックスが失われました。
メイン アクティビティは、数値を次のようにロードします。 my_Adapter = new ListNumberAdapter(this, R.layout.numberlayout, numberList); numberView.setAdapter(my_Adapter); }
私の NumberItem クラスは、ブール値と 2 つの文字列を持つ電話番号のクラスです。
NumberListClass は ArrayList を拡張し、いくつかのメソッドがありますが、私の問題には関係ありません。パブリック クラス NumberListClass は ArrayList を拡張します。
これは私のメインアダプターです:
public class ListNumberAdapter extends ArrayAdapter{
private NumberListClass numeros;
private Context context;
public ListNumberAdapter(Context contexto, int textViewResourceId,
NumberListClass listaNumeros) {
super(contexto, textViewResourceId, listaNumeros);
this.numeros=listaNumeros;
this.context=contexto;
}
@Override
public View getView(final int position, View convertview, ViewGroup parent){
View v = convertview;
if (v == null){
LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.numberlayout, null);
}
final NumberItem numberI = this.numeros.get(position);
if (numberI != null){
final CheckBox rb = (CheckBox) v.findViewById(R.id.checkBox);
TextView tvn=(TextView) v.findViewById(R.id.hereGoesTheNumber);
TextView tvID=(TextView) v.findViewById(R.id.hereGoesTheId);
if (rb !=null){rb.setChecked(numberI.getStatus()); }
if (tvn!=null){ tvn.setText(numberI.getNumber()+numberI.getStatus());}
if (tvID!=null){tvID.setText(""+numberI.getIfSelected());}
rb.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
numberI.changeStatus();
notifyDataSetChanged();
buttonView.refreshDrawableState();
}
}
);
tvn.setOnClickListener(new OnClickListener (){
@Override
public void onClick(View v) {
// WHAT CAN I DO HERE???
}
});
}
return v;}
助けてください!