Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.kafol.vlaki;
- import java.util.ArrayList;
- import net.kafol.vlaki.Stations.Station;
- import android.app.Activity;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.PreferenceManager;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.CompoundButton.OnCheckedChangeListener;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.Toast;
- public class PreferredStation extends Activity {
- private SharedPreferences prefs;
- private SharedPreferences.Editor editor;
- private ListView lv;
- private StationListAdapter adapter;
- private Stations stations;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.preferredstations);
- prefs = PreferenceManager.getDefaultSharedPreferences(this);
- editor = prefs.edit();
- lv = (ListView) findViewById(R.id.stationlist);
- adapter = new StationListAdapter(this, R.layout.stationcheckboxitem, new ArrayList<Station>());
- lv.setAdapter(adapter);
- stations = new Stations();
- for(Station s:stations.list) adapter.add(s);
- Button checkall = (Button) findViewById(R.id.checkAll);
- checkall.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- toggleCheck(true);
- }
- });
- Button uncheckall = (Button) findViewById(R.id.uncheckAll);
- uncheckall.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- toggleCheck(false);
- }
- });
- }
- public void toggleCheck(Boolean val) {
- for(Station s : stations.list) {
- s.checked = val;
- editor.putBoolean("PF_"+s.getID(), val);
- }
- for(int i=0 ; i < lv.getChildCount() ; i++) {
- CheckBox cb = (CheckBox) lv.getChildAt(i).findViewById(R.id.cb);
- cb.setChecked(val);
- }
- editor.apply();
- }
- private class StationCBViewHolder {
- public CheckBox cb;
- public Station s;
- }
- private class StationListAdapter extends ArrayAdapter<Station> {
- private ArrayList<Station> items;
- private Context context;
- public StationListAdapter(Context context, int tvResId, ArrayList<Station> items) {
- super(context, tvResId, items);
- this.items = items;
- this.context = context;
- }
- @Override
- public View getView(int pos, View v, ViewGroup parent) {
- final StationCBViewHolder holder;
- final Station item = items.get(pos);
- if (v == null) {
- LayoutInflater vi = ((Activity)context).getLayoutInflater();
- v = vi.inflate(R.layout.stationcheckboxitem, parent, false);
- holder = new StationCBViewHolder();
- holder.cb = (CheckBox) v.findViewById(R.id.cb);
- holder.s = item;
- item.checked = prefs.getBoolean("PF_"+item.getID(),true);
- //holder.cb.setTag(holder);
- holder.cb.setTag(item);
- holder.cb.setChecked(item.checked);
- holder.cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton v, boolean isChecked) {
- Station s = (Station) v.getTag();
- editor.putBoolean("PF_"+s.getID(), isChecked);
- editor.apply();
- }
- });
- v.setTag(holder);
- } else {
- holder = (StationCBViewHolder) v.getTag();
- }
- holder.cb.setText(item.toString());
- holder.cb.setChecked(item.checked);
- return v;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement