android


Change TextView when Navigation Drawer Item is selected


I'm trying to make three different options in my navigation drawer use the same fragment but with different values in the TextView in that fragment.
I created a standard Navigation Drawer Activity with Android Studio and tried to use setText in the same method that changes the title, see below:
public void onSectionAttached(int number) {
switch (number) {
case 1:
mTitle = getString(R.string.title_section1);
Namn.setText("Item 1");
break;
case 2:
mTitle = getString(R.string.title_section2);
Namn.setText("Item 2");
break;
case 3:
mTitle = getString(R.string.title_section3);
Namn.setText("Item 3");
break;
}
}
When I try to run the app it force closes instantly and I get this error:
Process: com.test.je.test, PID: 22605
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.je.test/com.test.je.test.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2187)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.access$800(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5034)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.test.je.test.MainActivity.onSectionAttached(MainActivity.java:68)
at com.test.je.test.MainActivity$PlaceholderFragment.onAttach(MainActivity.java:153)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
at android.app.Activity.performStart(Activity.java:5251)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2160)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
            at android.app.ActivityThread.access$800(ActivityThread.java:138)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5034)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
            at dalvik.system.NativeStart.main(Native Method)
I have declared the TextView with TextView Namn; and Namn = (TextView)findViewById(R.id.twnamn);
What am I doing wrong here?
So user #feresr helped me understand what was wrong with his comment.
I created an if statement in the onCreateView() method instead and it solved the problem.
I had to declare the textview after the fragment had been created also.
Here is the code:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView;
Bundle args = getArguments();
int currentView = getArguments().getInt(ARG_SECTION_NUMBER);
if(currentView == 1){
rootView = inflater.inflate(R.layout.fragment_main, container, false);
TextView Namn = (TextView) rootView.findViewById(R.id.twnamn);
Namn.setText("Val 1");
}else if(currentView == 2){
rootView = inflater.inflate(R.layout.fragment_main, container, false);
TextView Namn = (TextView) rootView.findViewById(R.id.twnamn);
Namn.setText("Val 2");
}else if(currentView == 3){
rootView = inflater.inflate(R.layout.fragment_main, container, false);
TextView Namn = (TextView) rootView.findViewById(R.id.twnamn);
Namn.setText("Val 3");
}else {
rootView = inflater.inflate(R.layout.fragment_main, container, false);
}
return rootView;
}

Related Links

how to hide or disable actionMode in CHOICE_MODE_MULTIPLE_MODAL in listview
How to structure the tabs in a tabHost in Android?
Why am I not allowed to use setOnClickListener in this situation?
Implementing admob for different activities
Set margin to “standalone” view
Fetch Facebook album cover photo - Android
Need to implement an instant messaging for iOS and Android? [closed]
window.localStorage.setItem not working on mobile phone
Glympse API while sending sms TICKET_INVITE_FAILED
Android do ToolBar icon animation programmatically
android: custom view layout wrapping
Checkbox in a custom adapter to update the database
Google Cloud module not visible in Android Studio
Is it possible to creat some chat in a website to send message in an app?
private or public strings on android DB schema?
Android Multiple Dynamically Created Nested Fragments. Confusion and Issue

Categories

HOME
batch-file
google-cloud-platform
c++11
ng-idle
rdbms
jelastic
appcelerator
scripting
dojo
cq5
onclick
iis-6
missing-data
jax-ws
banner
teechart
endpoint
pyramid
digital-signature
libigl
ios10.2
string-concatenation
visual-studio-extensions
epsilon
fat
fable-f#
flooding
exchangewebservices
iis-express
jaws
scatter3d
cognos-bi
glib
mnist
engine.io
typesafe-config
watchface
wmp
contract
strftime
dynamic-linq
opennms
hammer.js
vugen
carrot2
reindex
backbone-collections
opengl-4
rmongo
angular2-testing
expectations
dimension
omniauth-facebook
aurora
gcloud-ruby
uiactionsheet
fink
thread-sleep
intel-c++
opserver
ember-cli-rails
mirror
ansi
node-serialport
cakephp-2.7
mmwormhole
java-security
cryptographichashfunction
grouping-sets
variadic-templates
browserify-shim
ray
buffering
menubar
hibernate-entitymanager
wp7test
mantle
robotlegs
idn
android-loadermanager
appjs
database-create
cross-database
relative
flex-mobile
procedures
promotion-code
catransform3d
cuteeditor
socketserver
collectionviewsource
diagrams
blender-2.49
dsl-tools
software-lifecycle
dsoframer
lemmatization
change-management

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App