1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Checkbox Text zuweisen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ningaldi, 08.01.2011.

  1. ningaldi, 08.01.2011 #1
    ningaldi

    ningaldi Threadstarter Neuer Benutzer

    Beiträge:
    1
    Erhaltene Danke:
    0
    Registriert seit:
    08.01.2011
    Hallo,
    ich verzweifel gerade an einer recht dummen aufgabe:
    ich möchte eine Checkbox einen Text mittels Code zuweisen. dabei erhalte ich leider immer eine Nullpointerexception in dieser Codezeile.

    Entsprechender Code: (Zeile 36 markiert)
    Code:
    public class ToDosActivity extends Activity implements OnClickListener {
        public static String TAG = ToDosActivity.class.getSimpleName();
    
        // Layoutelemente
        protected TextView headline;
        protected Button button_new;
        protected CheckBox taskname1;
        
        // Datenbank
        private static final String DATABASE_NAME = "todos.db";
        private static final String TODOS_TABLE_NAME = "todos";
    
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.todos_start);
            showtasks();
    
            headline = (TextView) findViewById(R.id.headline);
            button_new = (Button) findViewById(R.id.button_new);
            taskname1 = (CheckBox) findViewById(R.id.taskname1);
    
            button_new.setOnClickListener(this);
        }
    
        public void showtasks() {
    [B]        taskname1.setText("test");[/B]
        }
    }
    
    Ausschnitt aus dem Manifest:
    Code:
    <activity android:name="ToDosActivity" android:label="@string/app_name">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
    </activity>
    
    Ausschnitt aus der XML
    Code:
    <CheckBox 
        android:id="@+id/taskname1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
    />
    
    Exception:
    Code:
    01-08 16:44:48.684: ERROR/AndroidRuntime(585): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.ningaldi.todos/de.ningaldi.todos.ToDosActivity}: java.lang.NullPointerException
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.os.Handler.dispatchMessage(Handler.java:99)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.os.Looper.loop(Looper.java:123)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at java.lang.reflect.Method.invokeNative(Native Method)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at java.lang.reflect.Method.invoke(Method.java:521)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at dalvik.system.NativeStart.main(Native Method)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585): Caused by: java.lang.NullPointerException
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at de.ningaldi.todos.ToDosActivity.showtasks(ToDosActivity.java:104)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at de.ningaldi.todos.ToDosActivity.onCreate(ToDosActivity.java:36)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    01-08 16:44:48.684: ERROR/AndroidRuntime(585):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    
    in anderen teilen der app lässt sich problemlos text von fromularfeldern ändern. weiß vielleicht jemand, wie ich die checkbox gefüllt bekomme?
     
  2. swordi, 08.01.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    auch in anderen apps wird das so nicht gehen.

    du kannst nicht zuerst den text zuweisen und dann erst das findViewByID aufrufen. ist klar dass das objekt noch null ist
     

Diese Seite empfehlen