package com.tradlulu.demoCollectionList; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ImageButton; import android.widget.ProgressBar; import android.widget.TextView; import com.hkm.slideselection.V1.DynamicAdapter; import com.hkm.slideselection.worker.SelectChoice; import com.hkm.slideselection.app.SimpleStepSelectionFragment; import com.hkm.slideselection.app.ViewPagerHolder; import com.hkm.slideselection.worker.bridgeChanger; import com.tradlulu.demoCollectionList.MyList.basicSupport; import java.util.ArrayList; import java.util.Iterator; /** * Created by hesk on 11/9/15. */ public class FancyList extends AppCompatActivity implements bridgeChanger { private SimpleStepSelectionFragment thecontroller; private SelectChoice lv0; private Handler uiHandler = new Handler(); private ImageButton back; private ProgressBar mProgress; private TextView title_navigation; private boolean isInProgress = false; private ArrayList<SelectChoice> selection_memory = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //ButterKnife.bind(this); setContentView(R.layout.fancy_1); thecontroller = SimpleStepSelectionFragment.firstLevel(basicSupport.DemoData()); bindothers(); getFragmentManager().beginTransaction().add(R.id.fragment, thecontroller, "newA").addToBackStack(null).commit(); thecontroller.setCallBackListenerBridge(this); inProgressDone(); } private void bindothers() { back = (ImageButton) findViewById(R.id.back_level); title_navigation = (TextView) findViewById(R.id.title_navigation); mProgress = (ProgressBar) findViewById(R.id.ui_loading_progress_bar_xx); back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (thecontroller != null && !isInProgress) { thecontroller.onPressBack(); } } }); } private void inProgress() { mProgress.animate().alpha(1f); isInProgress = true; } private void inProgressDone() { mProgress.animate().alpha(0f).withEndAction(new Runnable() { @Override public void run() { isInProgress = false; } }); } /** * Take care of popping the fragment back stack or finishing the activity * as appropriate. */ @Override public void onBackPressed() { if (thecontroller != null) { if (!isInProgress && !thecontroller.onPressBack()) super.onBackPressed(); } else super.onBackPressed(); } private boolean inList(String selected) { Iterator<SelectChoice> io = selection_memory.iterator(); while (io.hasNext()) { SelectChoice mSelect = io.next(); if (mSelect.isTag(selected)) { return true; } } return false; } private void getlist(final String selected, final ViewPagerHolder pager, final DynamicAdapter mAdapter) { Iterator<SelectChoice> io = selection_memory.iterator(); while (io.hasNext()) { SelectChoice mSelect = io.next(); if (mSelect.isTag(selected)) { mAdapter.levelForward(pager, mSelect); inProgressDone(); return; } } /** * mock run async */ uiHandler.postDelayed(new Runnable() { @Override public void run() { SelectChoice list_end = new SelectChoice(false, selected); list_end.setResourceData(new String[]{"onef", "fwfawf", "wafe", "Ffsfsd", "sfafef", "Fasfe"}); mAdapter.levelForward(pager, list_end); inProgressDone(); } }, 800); } @Override public void SelectNow(final ViewPagerHolder pager, final DynamicAdapter mAdapter, SelectChoice choice) { if (!isInProgress) { if (choice.getLevel() == 1) { if (!inList(choice.selected_string())) { try { selection_memory.add((SelectChoice) mAdapter.getCurrentLVObject()); } catch (Exception e) { e.printStackTrace(); } } mAdapter.levelBack(pager); } else { inProgress(); title_navigation.setText(choice.selected_string()); getlist(choice.selected_string(), pager, mAdapter); } } } @Override public void HomeSelect(ViewPagerHolder pager, DynamicAdapter mAdapter, int position) { } }