0
我想知道是否有可能發送一個額外的意圖多個類,並使用switch語句來查看哪些額外的發送,並取決於什麼額外的,改變回收視圖數據。意圖getExtra切換案例,多個類
例如,我的應用程序有一個可擴展列表視圖和12個選項。每個選項都會將其發送到帶有Tablayout和回收站視圖的新類。通過tablayout,每個標籤頁中有3個片段,當前爲每個回收站視圖設置數據。這工作正常,但我想知道如何做到這一點,而不需要爲12個不同的選項製作大量的課程。
這是我可擴展的列表視圖代碼。在第一個孩子的位置,你可以看到我在說putExtra的內容。
expandableListView.setAdapter(mAdapter);
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
if (groupPosition == 0) {
if (childPosition == 0) {
Intent intent = new Intent(getApplicationContext(), WorkoutDaysActivity.class);
intent.putExtra("value", "w29w1");
startActivity(intent);
}
if (childPosition == 1) {
Intent intent = new Intent(getApplicationContext(), WorkoutDaysActivity.class);
startActivity(intent);
}
if (childPosition == 2) {
Intent intent = new Intent(getApplicationContext(), WorkoutDaysActivity.class);
startActivity(intent);
}
if (childPosition == 3) {
Intent intent = new Intent(getApplicationContext(), WorkoutDaysActivity.class);
startActivity(intent);
} else return false; }
這裏是我的WorkoutDaysActivity,其中意圖將用戶的擴展列表視圖中點擊:
public class WorkoutDaysActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.workout_days);
mToolBar = activateToolbar();
setUpNavigationDrawer();
ViewPager vp = (ViewPager) findViewById(R.id.view_pager);
this.addPages(vp);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setupWithViewPager(vp);
tabLayout.setOnTabSelectedListener(listener(vp));
}
//ADD ALL PAGES
private void addPages(ViewPager pager) {
MyFragPagerAdapter adapter = new MyFragPagerAdapter(getSupportFragmentManager());
adapter.addPage(new MondayFragment());
adapter.addPage(new WedFragment());
adapter.addPage(new FridayFragment());
//SET ADAPTER to pager
pager.setAdapter(adapter);
}
private TabLayout.OnTabSelectedListener listener(final ViewPager pager) {
return new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
pager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
};
}
}
這裏是我的標籤片段之一。其他兩個基本上是相同的:
public class WedFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.wed_fragment, null);
// //RECYCLERVIEW
RecyclerView rv = (RecyclerView) view.findViewById(R.id.mRecyclerWed);
rv.setLayoutManager(new LinearLayoutManager(this.getActivity()));
rv.setAdapter(new MyRecyclerAdapter(this.getActivity(), getWedWorkout()));
return view;
}
private ArrayList<Workout> getWedWorkout() {
//COLLECTION OF MONDAY WORKOUT
ArrayList<Workout> workout = new ArrayList<>();
//SINGLE EXERCISE
Workout workouts = new Workout("Bench", "60", "6", "155", false);
//ADD TO COLLECTION
workout.add(workouts);
workouts = new Workout("Bench", "70", "5", "175", false);
workout.add(workouts);
return workout;
}
@Override
public String toString() {
return "Wednesday";
}
}
這些3個片段類是理論上,我想把一個開關殼體看單擊了哪個上擴展列表視圖項,並在3個標籤填充數據取決於點擊的內容。
感謝您的幫助!
我將如何得到它使用的數據在每個標籤片段類,但是? – LBJ33
你解決了這個問題嗎? – faranjit
還沒有,因爲我需要實際片段類中的值,因爲這是設置recyclerview值的地方。不是workoutdaysactivity – LBJ33