我试图显示警报,当我在切换按钮 我在一边列表视图中使用切换按钮适配器从接通状态切换到关闭状态,请参考我的代码如下,并请帮助我在做切换按钮时,从用户状态切换到关闭状态... 实际上,当我使用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