jeudi 18 mai 2017

issue to select checkbox in onViewCreated()

i need to select automatically all checkboxes when i lunch my app in onViewCreated().

With this code:

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);



        lv = (ListView)getView().findViewById(R.id.listview);
        displayPlanetList();

        for (int i=0;i<plAdapter.getCount();i++) {
            Planet p=plAdapter.getItem(i);

            //if(p.getId()==3) {

                //System.out.println("NOME PIANETA:" + p.getName());
                p.setSelected(true);


            //}
            p.setSelected(true);



            System.out.println("NOME PIANETA2:" + p.isSelected());



        }






    }

in LOGCAT i see true for 5 times but i don't see checkboxes checked (so the View).

Who can help me?

THIS IS ALL CODE:

public class MyListFragment extends Fragment  /*implements
        CompoundButton.OnCheckedChangeListener, View.OnClickListener*/ {


    ListView lv;
    ArrayList<Planet> planetList;
    static PlanetAdapter plAdapter;
    private TextView txtName;
    private TextView txtEmail;
    private Button btnLogout;
    ListView listView;
    String user = "";
    private Spinner spinner;
    String selState;
    EditText cristo;
    private String zao;
    CheckBox ck;
    //private SQLiteHandler db;
    private SessionManager session;
    BirraAdapter biAdapter;
    PlanetAdapter.PlanetHolder holder;
    private static Context context = null;
    private static FragmentActivity mInstance;
    ArrayList<Integer> hm=new ArrayList<>();
    HashMap<Integer,String> ar=new HashMap<>();


    Integer[] imageId = {
            R.mipmap.androtuto,
            R.mipmap.ic_launcher,
            R.mipmap.ic_launcher,
            R.mipmap.ic_launcher,
            R.mipmap.ok,
            /*R.drawable.image6,
            R.drawable.image7
            Environment.getExternalStorageDirectory()" +
                    "                                .getAbsolutePath() + /ordinazioni/16:Maggio:2017-13:36:38 Pm.xml*/

    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

}






    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the custom_spinner_items for this fragment
        //super.onDestroy();

        SharedPreferences settings = getContext().getSharedPreferences("states", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.clear();
        editor.commit();

        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_list2, container, false);




        //ck=(CheckBox)rootView.findViewById(R.id.chk_box);



        //lv = (ListView) rootView.findViewById(R.id.listview);
        //ListAdapter listAdapter = new MyListAdapter(getContext());
        //lv.setAdapter(listAdapter);



        context = getActivity();
        mInstance = getActivity();
        btnLogout = (Button) rootView.findViewById(R.id.btnLogout);


        return rootView;
    }



    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);



        lv = (ListView)getView().findViewById(R.id.listview);
        displayPlanetList();

        for (int i=0;i<plAdapter.getCount();i++) {
            Planet p=plAdapter.getItem(i);

            //if(p.getId()==3) {

            //  System.out.println("NOME PIANETA:" + p.getName());
                p.setSelected(true);


            //}



            System.out.println("NOME PIANETA2:" + p.isSelected());



        }






    }



    private void displayPlanetList() {

        planetList = new ArrayList<Planet>();
        planetList.add(new Planet(1, "Margherita", "6", "€", "(pomodoro e mozzarella)"));
        planetList.add(new Planet(2,"Diavola", "7","€","(pomodoro,mozzarella e salsiccia piccante)"));
        planetList.add(new Planet(3,"Bufalina", "5","€","(pomodoro e mozzarella di bufala)"));
        planetList.add(new Planet(4, "Marinara", "5", "€", "(pomodoro)"));
        planetList.add(new Planet(5,"Viennese", "4", "€", "(pomodoro,mozzarella e wrustel)"));

        plAdapter = new PlanetAdapter(planetList, getContext(),imageId) {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                String pero="";

                int la=0;
                int pos = lv.getPositionForView(buttonView);

                System.out.println("POS:"+pos);


                if (pos != ListView.INVALID_POSITION) {
                    Planet p = planetList.get(pos);

                    p.setSelected(isChecked);



            Toast.makeText(
                    getActivity(),
                    "Clicked on Pizza: " + la + ". State: is "
                            + isChecked, Toast.LENGTH_SHORT).show();
                }


            }

        };

        lv.setAdapter(plAdapter);
    }




Aucun commentaire:

Enregistrer un commentaire