Ik heb een app met tabs waarin ik een seekbar probeer te plaatsen in het fragment waar de app in start. Ik deed dit in een tweede tab ook al (regel 58 - 73) en dat werkte prima, dus ik dacht gewoon de code daarvan te kopiëren naar de eerste tab, maar nu gooit deze allemaal null pointer exceptions (bij de block comment, regel 39 - 54). Het lijkt erop dat de findviewbyid() de seekbar niet gevonden krijgt, maar ik begrijp niet waarom... setContentView is gecalled voordat ik brightnessSeekbar probeer toe te wijzen, ik zie hem even niet.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
| public class MainActivity extends ActionBarActivity implements ActionBar.TabListener { ViewPager mViewPager; SeekBar volumeSeekbar; SeekBar brightnessSeekbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mSectionsPagerAdapter); mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { actionBar.setSelectedNavigationItem(position); } }); actionBar.addTab(actionBar.newTab().setText("Media").setTabListener(this)); actionBar.addTab(actionBar.newTab().setText("Home").setTabListener(this)); actionBar.addTab(actionBar.newTab().setText("Lights").setTabListener(this)); } @Override @SuppressWarnings("unchecked") public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { mViewPager.setCurrentItem(tab.getPosition()); if(tab.getPosition() == 0){ volumeSeekbar = (SeekBar) findViewById(R.id.volume_seekbar); /* volumeSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // stuff } @Override public void onStartTrackingTouch(SeekBar arg0) {} @Override public void onStopTrackingTouch(SeekBar arg0) { // stuff } }); */ } else if(tab.getPosition() == 1){ // stuff } else if(tab.getPosition() == 2){ brightnessSeekbar = (SeekBar) findViewById(R.id.brightness_seekbar); brightnessSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // stuff } @Override public void onStartTrackingTouch(SeekBar arg0) {} @Override public void onStopTrackingTouch(SeekBar arg0) { // stuff } }); } } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {} @Override @SuppressWarnings("unchecked") public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { // stuff } public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 0: return new MediaFragment(); case 1: return new HomeFragment(); case 2: return new LightsFragment(); } return null; } @Override public int getCount() { return 3; } } public class MediaFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_media, container, false); } } public class HomeFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_home, container, false); } } public class LightsFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_lights, container, false); } } } |
HP ZBook Studio G3 - Hyundai Ioniq EV Classic - Opel Vivaro-e 75kWh - 22x Prusa i3 MK3S - 8x Prusa MINI+ - Ooznest Workbee 1,5m x 1,5m