Android Problems with a TextView -
this sounds easy @ beginning driving me insane.
so downloaded latest android sdk , eclipse , there somthing new.... :
when iam creating activity , layout generates me 2 layout files somthing like: main_laout.xml , fragment_main.xml
however eclipse opend fragment file , made gui there. when iam starting application buttons , textviews there. press button , second activity starts.
and here problem: second activity first 1 (the 2 layout xml files here called status)
when iam trying change textview there nullpointer exception. can plz me iam getting crazy.
my code far:
statusactivity:
public class statusactivity extends actionbaractivity{  private textview version,dbstatus,dbrows; private button done,refresh; networktask task;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_status);      if (savedinstancestate == null) {         getsupportfragmentmanager().begintransaction()                 .add(r.id.container, new placeholderfragment()).commit();     }        version=(textview) findviewbyid(r.id.versionsoutputtextstatus);     dbstatus=(textview) this.findviewbyid(r.id.dbstatusoutputtextstatus);     dbrows=(textview) this.findviewbyid(r.id.dbrowsoutputtextstatus);      done=(button) this.findviewbyid(r.id.beendenbuttonstatus);     refresh=(button) this.findviewbyid(r.id.refreshbuttonstatus);      version.settext("test");  } and xml files: activity_status.xml:
<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="de.project.zigbeecontrol.statusactivity" tools:ignore="mergerootframe" /> fragment_status.xml:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/eisblumen" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="de.project.zigbeecontrol.statusactivity$placeholderfragment" >  <textview     android:id="@+id/welcometextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparenttop="true"     android:layout_centerhorizontal="true"     android:layout_margintop="43dp"     android:text="@string/status"     android:textappearance="?android:attr/textappearancelarge" />  <textview     android:id="@+id/versionsoutputtextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/versiontextstatus"     android:layout_alignbottom="@+id/versiontextstatus"     android:layout_marginleft="24dp"     android:layout_torightof="@+id/versiontextstatus"     android:text="@string/empty"     android:textappearance="?android:attr/textappearancemedium" />  <textview     android:id="@+id/dbstatusoutputtextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbottom="@+id/dbstatustextstatus"     android:layout_alignleft="@+id/versionsoutputtextstatus"     android:text="@string/empty"     android:textappearance="?android:attr/textappearancemedium" />  <button     android:id="@+id/beendenbuttonstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/welcometextstatus"     android:layout_alignparentbottom="true"     android:layout_alignright="@+id/welcometextstatus"     android:background="@drawable/button_trans"     android:text="@string/endestatus"      android:onclick="onclickstatus" />  <textview     android:id="@+id/dbrowstextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_above="@+id/beendenbuttonstatus"     android:layout_alignright="@+id/dbstatustextstatus"     android:layout_marginbottom="26dp"     android:text="@string/dbrows"     android:textappearance="?android:attr/textappearancemedium" />  <textview     android:id="@+id/dbstatustextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_centervertical="true"     android:layout_toleftof="@+id/beendenbuttonstatus"     android:text="@string/datenbankstatus"     android:textappearance="?android:attr/textappearancemedium" />  <textview     android:id="@+id/versiontextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignright="@+id/dbstatustextstatus"     android:layout_below="@+id/welcometextstatus"     android:layout_margintop="56dp"     android:text="@string/version"     android:textappearance="?android:attr/textappearancemedium" />  <textview     android:id="@+id/dbrowsoutputtextstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/dbrowstextstatus"     android:layout_alignbottom="@+id/dbrowstextstatus"     android:layout_alignleft="@+id/dbstatusoutputtextstatus"     android:text="@string/empty"     android:textappearance="?android:attr/textappearancemedium" />  <button     android:id="@+id/refreshbuttonstatus"     style="?android:attr/buttonstylesmall"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbottom="@+id/welcometextstatus"     android:layout_marginbottom="17dp"     android:layout_marginleft="31dp"     android:layout_torightof="@+id/welcometextstatus"     android:text="@string/refresh"     android:onclick="onclickstatus" />   </relativelayout> even when working post parts of "main" programm can see how worked there : mainactivity:
public class mainactivity extends actionbaractivity{   //buttons private button beendenbutton; private button statusbutton; private button restartbutton; private button auswertungbutton;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      if (savedinstancestate == null) {         getsupportfragmentmanager().begintransaction()                 .add(r.id.container, new placeholderfragment()).commit();     }      /*zuweißung der buttons */     beendenbutton=(button) this.findviewbyid(r.id.endbuttonmain);     statusbutton=(button) this.findviewbyid(r.id.statusbuttonmain);     restartbutton=(button) this.findviewbyid(r.id.restartbuttonmain);     auswertungbutton=(button)this.findviewbyid(r.id.auswertungbuttonmain);        /*fertig mit initzialisieren warten auf eingabe*/ }      private void statusmethod() {      try{          intent intent = new intent(this, statusactivity.class);         startactivity(intent);         this.finish();         }catch(exception e){errormessage();}  } //.... uninterresting stuff here   public void onclick(view v) {     switch (v.getid())     {         /*auswahl gedrückt wurde und aufruf der entsprechenden methode */         case r.id.endbuttonmain:  endactivity(); break;          case r.id.statusbuttonmain: statusmethod();break;         case r.id.restartbuttonmain: restartmethod();break;         case r.id.auswertungbuttonmain:  sensormethod(); break;         default: break;     } } }
and 2 xmls layout:
activity_main:
<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="de.project.zigbeecontrol.mainactivity" tools:ignore="mergerootframe"   /> and last not least fragment_main:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/eisblumen" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="de.project.zigbeecontrol.mainactivity$placeholderfragment" >  <button     android:id="@+id/endbuttonmain"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_torightof="@+id/welcometextmain"     android:background="@drawable/button_trans"     android:text="@string/beenden"      android:onclick="onclick" />  <textview     android:id="@+id/welcometextmain"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@+id/endbuttonmain"     android:layout_centerhorizontal="true"     android:text="@string/welcome"     android:textappearance="?android:attr/textappearancelarge" />  <button     android:id="@+id/statusbuttonmain"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@+id/welcometextmain"     android:layout_centerhorizontal="true"     android:layout_margintop="39dp"     android:background="@drawable/button_trans"     android:text="@string/status"      android:onclick="onclick" />  <button     android:id="@+id/restartbuttonmain"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/statusbuttonmain"     android:layout_below="@+id/statusbuttonmain"     android:layout_margintop="19dp"     android:background="@drawable/button_trans"     android:text="@string/neustart"      android:onclick="onclick" />  <button     android:id="@+id/auswertungbuttonmain"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/restartbuttonmain"     android:layout_below="@+id/restartbuttonmain"     android:layout_margintop="33dp"     android:background="@drawable/button_trans"     android:text="@string/sensoren"      android:onclick="onclick" />   </relativelayout> so plz! why npe when trying:
version.settext("test"); regards
try this..
change this..
setcontentview(r.layout.activity_status); to
setcontentview(r.layout.fragment_status); because textviews , buttons in fragment_status.xml setcontentview should refer fragment_status.xml
and remove
if (savedinstancestate == null) {     getsupportfragmentmanager().begintransaction()             .add(r.id.container, new placeholderfragment()).commit(); } ans same in mainactivity.java
change this..
setcontentview(r.layout.activity_main); to
setcontentview(r.layout.fragment_main); and remove
if (savedinstancestate == null) {     getsupportfragmentmanager().begintransaction()             .add(r.id.container, new placeholderfragment()).commit(); } 
Comments
Post a Comment