【发布时间】:2016-05-06 19:12:27
【问题描述】:
我在 tabLayout 中只有两个选项卡,分别是 Objectives 和 Students。现在,我希望学生文本的颜色为灰色,直到我选中目标复选框。在我选中复选框后,学生文本的颜色应该从灰色变为白色。下面是标签的图像:-
这是图片 2
以下是 TabLayout 的代码:-
public class AllKPIActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPagerAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_objective_student);
toolbar = (Toolbar) findViewById(R.id.toolbar);
viewPager = (CustomViewPager) findViewById(R.id.viewpager);
viewPager.setPagingEnabled(false);
adapter = new ViewPagerAdapter(getSupportFragmentManager());
setupViewPager(viewPager);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
adapter.notifyDataSetChanged();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
private void setupViewPager(ViewPager viewPager) {
adapter.addFragment(new ObjectivesFragment(), "Objectives");
adapter.addFragment(new StudentsFragment(), "Students");
viewPager.setAdapter(adapter);
}
}
class ViewPagerAdapter extends FragmentStatePagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
ObjectivesFragment allFragment = new ObjectivesFragment();
Bundle bundle = new Bundle();
bundle.putString("uuid", uuid);
allFragment.setArguments(bundle);
return allFragment;
case 1:
studentsFragment = new StudentsFragment();
Bundle bundle_students = new Bundle();
bundle_students.putString("uuid", uuid);
studentsFragment.setArguments(bundle_students);
return studentsFragment;
}
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
@Override
public int getItemPosition(Object object) {
if (object instanceof UpdateableFragment) {
((UpdateableFragment) object).update(selectedChildList);
} else if (object instanceof ObjectivesFragment) {
}
return super.getItemPosition(object);
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10 && resultCode == requestCode) {
if (data != null) {
String colorCode = data.getExtras().get("colorCode").toString();
String judgementName = data.getExtras().get("judgementName").toString();
int position = data.getIntExtra("position", 0);
studentsFragment.onJudgementSelected(colorCode, judgementName, position);
}
} else if (requestCode == 1001) {
if (data != null) {
String fileName = data.getExtras().get("File Name").toString();
int position = data.getIntExtra("position", 0);
System.out.print(fileName);
studentsFragment.onCameraResult(fileName, position);
}
} else if (requestCode == 11) {
if (data != null) {
File fileName = (File) data.getExtras().get("fileName");
int position = data.getIntExtra("position", 0);
studentsFragment.onNotesCreated(fileName, position);
}
} else if (requestCode == StudentAdapter.READ_REQUEST_PREVIEW_CODE) {
if (data != null) {
setResult(RESULT_OK, data);
}
} else if (requestCode == StudentAdapter.AVIARY_EDITOR_RESULT) {
if (data != null) {
/* if (intent != null && mAdapter != null) {
Bundle extra = intent.getExtras();
if (extra != null && extra.getBoolean(Constants.EXTRA_OUT_BITMAP_CHANGED)) {
if (useInternalStorage()) {
onImageModified();
} else {
//the file is on the SD card and must be copied back to the internal
//file structure. We then delete the temp file on the SD card.
SharedExecutorService.getInstance().execute(new MainThreadRunnable() {
boolean success;
@Override
public void runOnBackground() {
success = mMediaManager.copyFromTemp(PreviewActivity.this,
mAdapterPosition);
}
@Override
public void runOnMain() {
mMediaManager.clearTempFiles(PreviewActivity.this);
if (!success) {
AndroidUtils.buildSimpleErrorDialog(PreviewActivity.this)
.setMessage(R.string.preview_error).show();
return;
}
onImageModified();
}
});
return;
}
}
}*/
}
}
}
}
【问题讨论】:
-
发布您的班级代码
标签: android android-viewpager android-tablayout