示例#1
0
 /**
  * 设置适配器
  *
  * @param adapter MySpinnerAdapter适配器
  */
 public void setAdapter(MySpinnerAdapter adapter) {
   adapter.setSpinner(this);
   this.lAdapter = adapter;
   SpinnerRes res = this.lAdapter.getSelectedItem();
   if (res != null) {
     setText(res.getValue());
   }
 }
示例#2
0
 @Override
 public void onClick(View v) {
   if (this.equals(v)) {
     if (isShowing()) {
       menuDismiss();
     } else {
       showDropMenu();
     }
   } else if (getContext() != null && v.getId() == ITEM_ID) {
     int position = -1;
     try {
       position = Integer.parseInt(v.getTag().toString());
     } catch (NumberFormatException e) {
       e.printStackTrace();
     }
     if (position > -1 && position < lAdapter.getCount()) {
       lAdapter.switchSelected(position);
       menuDismiss();
     }
   }
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
    mTabPager = (ViewPager) findViewById(R.id.tab_pager);
    mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);

    initializeTestData();
    mRVAdapter = new RVAdapter(cardsDruid);
    mRecyclerView.setAdapter(mRVAdapter);
    mRecyclerView.setHasFixedSize(true);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    mContext = getSupportActionBar().getThemedContext();
    mLinearLayout = new LinearLayoutManager(mContext);
    // mGridLayout = new GridLayoutManager(mContext, 3);
    mRecyclerView.setLayoutManager(mLinearLayout);
    // mRecyclerView.setLayoutManager(mGridLayout);

    View spinnerContainer =
        LayoutInflater.from(mContext).inflate(R.layout.toolbar_spinner, toolbar, false);
    ActionBar.LayoutParams lp =
        new ActionBar.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    toolbar.addView(spinnerContainer, lp);

    MySpinnerAdapter spinnerAdapter = new MySpinnerAdapter();
    spinnerAdapter.addItems(
        new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.collections_array))));

    Spinner spinner = (Spinner) spinnerContainer.findViewById(R.id.toolbar_spinner);
    spinner.setAdapter(spinnerAdapter);
    spinner.setOnItemSelectedListener(
        new AdapterView.OnItemSelectedListener() {
          @Override
          public void onItemSelected(AdapterView<?> spinner, View view, int position, long itemId) {
            // load new collection view
            Toast.makeText(mContext, "Spinner item selected -> " + position, Toast.LENGTH_SHORT)
                .show();

            if (mCurrentSpinnerPosition != position) {

              mTabPager.clearOnPageChangeListeners();
              mTabLayout.removeAllTabs();

              switch (position) {
                case 0:
                  // hide other layouts
                  mRecyclerView.setVisibility(View.GONE);

                  // setup selected layout
                  mPagerAdapter =
                      new MyPagerAdapter(
                          getSupportFragmentManager(),
                          mContext,
                          getResources().getStringArray(R.array.class_names_array));
                  mTabPager.setAdapter(mPagerAdapter);
                  mTabLayout.setTabsFromPagerAdapter(mPagerAdapter);
                  mTabLayout.setupWithViewPager(mTabPager);

                  // show selected layout
                  mTabLayout.setVisibility(View.VISIBLE);
                  mTabPager.setVisibility(View.VISIBLE);
                  break;
                case 1:
                  mTabLayout.setVisibility(View.GONE);
                  mTabPager.setVisibility(View.GONE);

                  mRecyclerView.setVisibility(View.VISIBLE);
                  break;
                case 2:
                  mRecyclerView.setVisibility(View.GONE);

                  mPagerAdapter =
                      new MyPagerAdapter(
                          getSupportFragmentManager(),
                          mContext,
                          getResources().getStringArray(R.array.class_names_array));
                  mTabPager.setAdapter(mPagerAdapter);
                  mTabLayout.setTabsFromPagerAdapter(mPagerAdapter);
                  mTabLayout.setupWithViewPager(mTabPager);

                  mTabLayout.setVisibility(View.VISIBLE);
                  mTabPager.setVisibility(View.VISIBLE);
                  break;
              }
            }
          }

          @Override
          public void onNothingSelected(AdapterView<?> adapterView) {}
        });

    mTabPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));

    mNavigationDrawerFragment =
        (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.fragment_drawer);

    // Set up the drawer.
    mNavigationDrawerFragment.setup(
        R.id.fragment_drawer, (DrawerLayout) findViewById(R.id.drawer), toolbar);
    // populate the navigation drawer
    mNavigationDrawerFragment.setUserData(
        "John Doe",
        "*****@*****.**",
        BitmapFactory.decodeResource(getResources(), R.drawable.avatar));
  }
示例#4
0
  private void initializescreen() {
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    View spinnerContainer = LayoutInflater.from(this).inflate(R.layout.spinner, toolbar, false);
    ActionBar.LayoutParams lp =
        new ActionBar.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

    toolbar.addView(spinnerContainer, lp);

    MySpinnerAdapter spinnerAdapter = new MySpinnerAdapter();

    spinnerAdapter.addItem("Quận 1 ");
    spinnerAdapter.addItem("Quận 2 ");
    spinnerAdapter.addItem("Quận 3 ");
    spinnerAdapter.addItem("Quận 4 ");
    spinnerAdapter.addItem("Quận 5 ");
    spinnerAdapter.addItem("Quận 6 ");
    spinnerAdapter.addItem("Quận 7 ");
    spinnerAdapter.addItem("Quận 8 ");
    spinnerAdapter.addItem("Quận 9 ");
    spinnerAdapter.addItem("Quận 10 ");
    spinnerAdapter.addItem("Quận 11 ");
    spinnerAdapter.addItem("Quận 12 ");
    spinnerAdapter.addItem("Tân Bình ");
    spinnerAdapter.addItem("Bình Thạnh ");
    spinnerAdapter.addItem("Tân Phú ");
    spinnerAdapter.addItem("Thủ Đức ");
    spinnerAdapter.addItem("Hóc Môn ");
    spinnerAdapter.addItem("Củ Chi ");

    // ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
    //       R.array.district_array, R.layout.spinner_item_actionbar);

    // spinnerAdapter.setDropDownViewResource(R.layout.spinner_item_dropdown);

    Spinner spinner = (Spinner) spinnerContainer.findViewById(R.id.better_spinner);

    spinner.setAdapter(spinnerAdapter);
  }
示例#5
0
 /**
  * 获取当前选中值
  *
  * @return SpinnerRes 没有选中项时为空
  */
 public SpinnerRes getSelectedRes() {
   return lAdapter == null ? null : lAdapter.getSelectedItem();
 }
示例#6
0
 /**
  * 根据value设置选中项
  *
  * @param value string
  */
 public void setSelectedToValue(String value) {
   if (lAdapter != null) {
     lAdapter.setDefSelectedToValue(value);
   }
 }
示例#7
0
 /**
  * 根据code设置选中项
  *
  * @param code string
  */
 public void setSelectedToCode(String code) {
   if (lAdapter != null) {
     lAdapter.setDefSelectedToCode(code);
   }
 }
示例#8
0
 /**
  * 设置选中的item背景,该方法需要在setAdapter后调用
  *
  * @param id R.drawable.xxx | R.color.xxx
  */
 public void setSelectedBackground(int id) {
   if (lAdapter != null) {
     lAdapter.setSelectedBackground(id);
   }
 }
示例#9
0
 /**
  * 设置item背景,该方法需要在setAdapter后调用
  *
  * @param id R.drawable.xxx | R.color.xxx
  */
 public void setChildBackground(int id) {
   if (lAdapter != null) {
     lAdapter.setChildBackground(id);
   }
 }