android 圆形选项卡,使用RecyclerView和Checkboxes的Android选项卡式活动

编程入门 行业动态 更新时间:2024-10-11 21:31:58

android <a href=https://www.elefans.com/category/jswz/34/1769013.html style=圆形选项卡,使用RecyclerView和Checkboxes的Android选项卡式活动"/>

android 圆形选项卡,使用RecyclerView和Checkboxes的Android选项卡式活动

我有一个标签式活动,允许用户为recyclerview中的条目选择复选框 . 当用户在不同选项卡之间滑动时,如果已选中复选框,则复选框不会保留其已检查状态 . 任何帮助将不胜感激 . 这是代码:

public class MyDirectory extends AppCompatActivity {

/**

* The {@link android.support.v4.view.PagerAdapter} that will provide

* fragments for each of the sections. We use a

* {@link FragmentPagerAdapter} derivative, which will keep every

* loaded fragment in memory. If this becomes too memory intensive, it

* may be best to switch to a

* {@link android.support.v4.app.FragmentStatePagerAdapter}.

*/

private SectionsPagerAdapter mSectionsPagerAdapter;

/**

* The {@link ViewPager} that will host the section contents.

*/

private ViewPager mViewPager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_my_directory);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

// Create the adapter that will return a fragment for each of the three

// primary sections of the activity.

mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.

mViewPager = (ViewPager) findViewById(R.id.container);

mViewPager.setAdapter(mSectionsPagerAdapter);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Snackbar.make(view, "New Message", Snackbar.LENGTH_LONG)

.setAction("Go", new View.OnClickListener(){

@Override

public void onClick(View view)

{

Intent message = new Intent(MyDirectory.this, newScheduledNotification.class);

startActivity(message);

}

}).show();

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_my_directory, menu);

//SearchView searchView = (SearchView) MenuItemCompat.getActionView(R.id.action_search);

//searchView.setOnQueryTextListener(MyDirectory.this);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

//noinspection SimplifiableIfStatement

if (id == R.id.action_settings) {

return true;

}

else if (id == R.id.go_home)

{

Intent goHome = new Intent(MyDirectory.this, menuHomepage.class);

startActivity(goHome);

}

return super.onOptionsItemSelected(item);

}

/**

* A placeholder fragment containing a simple view.

*/

public static class PlaceholderFragment extends Fragment

{

/**

* The fragment argument representing the section number for this

* fragment.

*/

private static final String ARG_SECTION_NUMBER = "section_number";

public PlaceholderFragment()

{

}

/**

* Returns a new instance of this fragment for the given section

* number.

*/

public static PlaceholderFragment newInstance(int sectionNumber)

{

PlaceholderFragment fragment = new PlaceholderFragment();

Bundle args = new Bundle();

args.putInt(ARG_SECTION_NUMBER, sectionNumber);

fragment.setArguments(args);

return fragment;

}

TextView textView;

RecyclerView recyclerView;

public List directoryEntryList = new ArrayList<>();

directoryEntryAdapter dAdapter;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState)

{

Toast.makeText(getActivity(), "On Create View", Toast.LENGTH_SHORT).show();

String type = "";

Bundle extras = getActivity().getIntent().getExtras();

// Get Bundle Extras

if (extras != null) {

type = extras.getString("directoryAction");

//Toast.makeText(getActivity(), type, Toast.LENGTH_SHORT).show();

}

View rootView = inflater.inflate(R.layout.fragment_my_directory, container, false);

textView = (TextView) rootView.findViewById(R.id.section_label);

recyclerView = (RecyclerView) rootView.findViewById(R.id.directory_recycler_view);

dAdapter = new directoryEntryAdapter(directoryEntryList);

RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());

recyclerView.setLayoutManager(mLayoutManager);

recyclerView.setItemAnimator(new DefaultItemAnimator());

recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));

recyclerView.setAdapter(dAdapter);

if (type.equals("Send Instruction"))

{

//Toast.makeText(getActivity(), "IN IF STATEMENT", Toast.LENGTH_SHORT).show();

TextView instructionText = (TextView) rootView.findViewById(R.id.InstructionField);

instructionText.setText("Choose All Recipients");

}

if (getArguments().getInt(ARG_SECTION_NUMBER) == 1)

{

prepareParentData(rootView);

textView.setText(getString(R.string.section_format) + " Parent Directory");

return rootView;

}

else if (getArguments().getInt(ARG_SECTION_NUMBER) == 2)

{

prepareTeacherData(rootView);

textView.setText(getString(R.string.section_format) + " Staff Directory");

return rootView;

}

else if (getArguments().getInt(ARG_SECTION_NUMBER) == 3)

{

prepareStudentData(rootView);

textView.setText(getString(R.string.section_format) + " Student Directory");

return rootView;

}

else

return rootView;

}

public void prepareParentData(View rootview)

{

String method = "parent_directory";

if(getActivity() == null)

{

Toast.makeText(getActivity().getApplicationContext(), "NULL", Toast.LENGTH_LONG).show();

}

else if (getActivity() != null)

{

DirectoryBackgroundTask directoryBackgroundTask = new DirectoryBackgroundTask(getActivity(), rootview);

directoryBackgroundTask.execute(method);

}

}

public void prepareTeacherData(View rootView)

{

String method = "faculty_directory";

DirectoryBackgroundTask directoryBackgroundTask = new DirectoryBackgroundTask(getActivity(), rootView);

directoryBackgroundTask.execute(method);

}

public void prepareStudentData(View rootView)

{

String method = "student_directory";

DirectoryBackgroundTask directoryBackgroundTask = new DirectoryBackgroundTask(getActivity(), rootView);

directoryBackgroundTask.execute(method);

}

}

/**

* A {@link FragmentPagerAdapter} that returns a fragment corresponding to

* one of the sections/tabs/pages.

*/

public class SectionsPagerAdapter extends FragmentPagerAdapter {

public SectionsPagerAdapter(FragmentManager fm) {

super(fm);

}

@Override

public Fragment getItem(int position) {

// getItem is called to instantiate the fragment for the given page.

// Return a PlaceholderFragment (defined as a static inner class below).

return PlaceholderFragment.newInstance(position + 1);

}

@Override

public int getCount() {

// Show 3 total pages.

return 3;

}

@Override

public CharSequence getPageTitle(int position) {

switch (position) {

case 0:

return "Parent Directory";

case 1:

return "Staff Directory";

case 2:

return "Student Directory";

}

return null;

}

}

}

更多推荐

android 圆形选项卡,使用RecyclerView和Checkboxes的Android选项卡式活动

本文发布于:2024-02-06 09:14:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748027.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:圆形   选项卡   选项   android   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!