У меня есть пользовательский вид с Toggle Buttons для всех строк. У меня есть onlick listner для ToggleButton, и я пытаюсь установить статус всех переключающих кнопок в listview равным false, кроме того, который я пресекал. Я разместил код для адаптера ниже. Пожалуйста, помогите мне с этим.Кнопка Toggle в CustomList View
Чтобы сделать его намного более простым, я должен установить состояние ToggleButton в True при нажатии/нажатии, а все остальные кнопки переключателя - False. Кроме того, как кнопка группы радио. Пожалуйста, порекомендуйте.
package Test.in.example.testairlight;
import java.util.ArrayList;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
public class PaAdapter extends ArrayAdapter<PaModel> {
SQLiteDatabase db;
private DBHelper dbH;
private ArrayList<PaModel> objects;
public PaAdapter(Context context, int textViewResourceId, ArrayList<PaModel> objects) {
super(context, textViewResourceId, objects);
this.objects = objects;
}
public View getView(int position, View convertView, ViewGroup parent){
View v = convertView;
final Context cc=parent.getContext();
if (v == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.pa_list_item, null);
}
PaModel i = objects.get(position);
if (i != null) {
TextView ttd = (TextView) v.findViewById(R.id.devicelocation);
final TextView mtd = (TextView) v.findViewById(R.id.deviceid);
TextView dzone = (TextView) v.findViewById(R.id.txtzonedetail);
final ToggleButton togglePA = (ToggleButton) v.findViewById(R.id.togglePA);
final ToggleButton toggleAlert = (ToggleButton) v.findViewById(R.id.toggleAlert);
final ToggleButton toggleListen = (ToggleButton) v.findViewById(R.id.toggleListen);
if (ttd != null){
ttd.setText(i.getDevicelocation());
}
if (mtd != null){
mtd.setText(String.valueOf(i.getDeviceid()));
}
toggleListen.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//// Set Everything to OFF State
//// Turn ON only the active Item
}
});
////// Listen Button
if (dzone !=null){
dzone.setText(i.getDevicezonedetail());
}
}
return v;
}
}
Вы хотите установить все кнопки только в элементе listitem (где был нажат toggleButton) на false или на все кнопки по всему списку? – theMfromA