我試圖顯示警報,當我在切換按鈕 我在一邊列表視圖中使用切換按鈕適配器從接通狀態切換到關閉狀態,請參考我的代碼如下,並請幫助我在做切換按鈕時,從用戶狀態切換到關閉狀態... 實際上,當我使用IsChecked()時,它總是調用關閉或關閉n,但我需要以顯示警報時只從ON到OFF的切換..顯示警報時關狀態:Android的
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >
<TextView
android:id="@+id/state_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ToggleButton
android:id="@+id/statetoggleButton"
style="@style/on_off_togle_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/togllebuttonselector" />
適配器類是:
private final Activity context;
public final List<StatesModel> list;
AlertDialog alertDialog;
public List<StatesModel> getList() {
return list;
}
public StateListAdapter(Activity context, List<StatesModel> list) {
super(context, R.layout.states_list, list);
this.context = context;
this.list = list;
}
static class ViewHolder {
protected TextView text;
protected ToggleButton checkbox;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.states_list, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.state_name);
viewHolder.checkbox = (ToggleButton) view
.findViewById(R.id.statetoggleButton);
viewHolder.checkbox
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(
final CompoundButton buttonView,
boolean isChecked) {
final StatesModel element = (StatesModel) viewHolder.checkbox
.getTag();
if (!isChecked) { AlertDialog.Builder builder =
new AlertDialog.Builder(context);
builder.setTitle("Warning"); String message =
"Title is here"
; builder.setMessage(message);
builder.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface
dialog, int which) { alertDialog.dismiss();
element.setSelected(buttonView .isChecked()); }
}); builder.setNegativeButton("Cancel", new
DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface
dialog, int which) { buttonView.setChecked(true);
alertDialog.dismiss(); } }); alertDialog =
builder.create(); alertDialog.show(); } else
element.setSelected(buttonView.isChecked());
}
});
view.setTag(viewHolder);
viewHolder.checkbox.setTag(list.get(position));
} else {
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
}
ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(list.get(position).getName());
holder.checkbox.setChecked(list.get(position).isSelected());
return view;
}
請檢查在進階經過變化的方法..thanks ...任何幫助將高度讚賞..
這裏是您展示您的警報呢?你爲什麼不在這裏添加它? –
感謝查詢... :)我想顯示警報時,從開啓狀態切換中的按鈕關閉狀態經過改變.. – SRam
嗨..我已經編輯我在檢查代碼的改變,但警報來總是同時爲關閉或關到開狀態..我只想當開到關狀態改變.. – SRam