Ich habe eine ListView
mit einer CheckBox
und eine EditText
. Ich möchte den Namen und EditText
Wert der überprüften CheckBoxes
auf einem Button
klicken. Wie kann ich das machen?Wie erhalten Sie ListView-Elemente beim Klicken auf die Schaltfläche?
Mein getView() -Methode:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(R.layout.scrap_list_row_item, parent, false);
final EditText kg = (EditText) convertView.findViewById(R.id.editText1);
final CheckBox cb = (CheckBox) convertView.findViewById(R.id.checkBox1);
final TextView txtKg = (TextView) convertView.findViewById(R.id.textView1);
final float scale = context.getResources().getDisplayMetrics().density;
cb.setPadding(cb.getPaddingLeft() + (int)(10.0f * scale + 0.5f),
cb.getPaddingTop(),
cb.getPaddingRight(),
cb.getPaddingBottom());
//cb.setText(modelItems[position].getName());
cb.setText(arrayScrapItems.get(position).getItemName());
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked)
{
// Toast.makeText(context, "You checked " + arrayScrapItems.get(position).getItemName(), Toast.LENGTH_SHORT).show();
cb.setButtonDrawable(R.drawable.checkbox_background_active);
kg.setBackgroundResource((R.drawable.kg_box));
txtKg.setTextColor(Color.parseColor("#000000"));
kg.setFocusable(true);
kg.setEnabled(true);
}
else
{
//Toast.makeText(context, "You unchecked " + arrayScrapItems.get(position).getItemName(), Toast.LENGTH_SHORT).show();
cb.setButtonDrawable(R.drawable.checkbox_background);
kg.setBackgroundResource((R.drawable.kg_box_inactive));
txtKg.setTextColor(Color.parseColor("#D3D3D3"));
kg.setFocusable(false);
kg.setEnabled(false);
}
}
}
);
return convertView;
Es gibt so viele Tutorials für Kontrollkästchen mit ListView – Piyush