package com.basic.security.fragment;
|
|
import android.os.Bundle;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.Button;
|
import android.widget.ListView;
|
import android.widget.RadioButton;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.TimeManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.ResolutionAdaptation;
|
import com.basic.security.utils.TimeRuleListDialogListener;
|
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.ViewById;
|
|
import java.util.List;
|
|
@EFragment
|
public class TimeRuleListDialogSmallFragment extends BaseFragment {
|
public static String checkedTimeRuleId = "";
|
@ViewById
|
public RelativeLayout rl_check_pass_time, rl_dialog;
|
@ViewById
|
public ListView lv_check_time;
|
@ViewById
|
public Button btn_check_time_save, btn_check_time_cancel;
|
@ViewById
|
public TextView tv_title;
|
public boolean isShowTitle = true;
|
TimeRuleListDialogListener timeRuleListDialogListener;
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
return inflater.inflate(ResolutionAdaptation.fragment_time_rule_list_dialog_small(), container, false);
|
}
|
|
public void show() {
|
super.show();
|
if (isShowTitle) {
|
tv_title.setVisibility(View.VISIBLE);
|
} else {
|
tv_title.setVisibility(View.GONE);
|
}
|
}
|
|
@Click
|
void btn_check_time_save() {
|
mainActivity().hideOneFragment(mainActivity().fragment_time_rule_list_dialog);
|
if (timeRuleListDialogListener != null) {
|
timeRuleListDialogListener.timeRuleSelected(checkedTimeRuleId);
|
}
|
}
|
|
@Click
|
void btn_check_time_cancel() {
|
mainActivity().hideOneFragment(mainActivity().fragment_time_rule_list_dialog);
|
}
|
|
public void showTimeRuleListDialog(String checkedRuleId, TimeRuleListDialogListener timeRuleListDialogListener) {
|
this.timeRuleListDialogListener = timeRuleListDialogListener;
|
checkedTimeRuleId = checkedRuleId;
|
isShowTitle = true;
|
List<ModelAdapter> timeRuleList = TimeManager.getAllUseTimeRule();
|
TimeRuleAdapter timeRuleAdapter = new TimeRuleAdapter(timeRuleList);
|
lv_check_time.setAdapter(timeRuleAdapter);
|
lv_check_time.setOnItemClickListener((parent, view, position, id) -> {
|
checkedTimeRuleId = timeRuleList.get(position).getId();
|
timeRuleAdapter.notifyDataSetChanged();
|
});
|
mainActivity().showOneFragment(mainActivity().fragment_time_rule_list_dialog);
|
}
|
|
private class TimeRuleAdapter extends BaseAdapter {
|
private List<ModelAdapter> timeRuleList;
|
|
public TimeRuleAdapter(List<ModelAdapter> timeRuleList) {
|
this.timeRuleList = timeRuleList;
|
}
|
|
public int getCount() {
|
return timeRuleList == null ? 0 : timeRuleList.size();
|
}
|
|
public Object getItem(int position) {
|
return timeRuleList.get(position);
|
}
|
|
public long getItemId(int position) {
|
return position;
|
}
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(getActivity()).inflate(com.basic.security.utils.ResolutionAdaptation.business_time_rule(), null);
|
viewHolder.radio_button = convertView.findViewById(com.basic.security.utils.RUtils.R_id_radio_button);
|
viewHolder.tv_message = convertView.findViewById(com.basic.security.utils.RUtils.R_id_tv_message);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
viewHolder.tv_message.setText(timeRuleList.get(position).getString("time_rule_name"));
|
viewHolder.radio_button.setChecked(false);
|
if (timeRuleList.get(position).getId().equals(checkedTimeRuleId)) {
|
viewHolder.radio_button.setChecked(true);
|
} else {
|
viewHolder.radio_button.setChecked(false);
|
}
|
return convertView;
|
}
|
|
class ViewHolder {
|
RadioButton radio_button;
|
TextView tv_message;
|
}
|
}
|
}
|