Question

Bonjour, j'essaie de changer de TextView dans une vue gonflée, mais l'application se bloque.

Qu'est-ce que j'essaie de faire est de remplir les vues de texte avec le contenu des variables Hometam et d'Awardteam Ces variables ne sont pas NULL, car lorsque je leur connecte les noms.

Donc, ma question est de savoir comment modifier une vue texte et remplacer son contenu

Heres ce que j'ai essayé

for(int t = 0; t < 1; t++){

               resultsDict = jArray.getJSONObject(t);
              String HomeTeam = resultsDict.getString("hometeam");
              String AwayTeam = resultsDict.getString("awayteam");

              Log.v("lc","hometeam" + HomeTeam);
              Log.v("lc","awayteam" + AwayTeam);


           }


           resultsView = LayoutInflater.from(getBaseContext()).inflate(R.layout.resultscell,
                     null);

           TextView homeTeam = (TextView) findViewById(R.id.HomeTeam);
           homeTeam.setText(HomeTeam);

la vue gonflée

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:padding="20dp" >

    <TextView
        android:id="@+id/TextView04"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="-"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/blue" 
        android:textStyle="bold"
      />

    <TextView
        android:id="@+id/HomeScore"
        android:layout_width="20dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/TextView04"
        android:text="0"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/blue" 
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/AwayScore"
        android:layout_width="20dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/TextView04"
        android:text="0"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/blue"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/AwayTeam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/AwayScore"
        android:layout_marginLeft="14dp"
        android:layout_toRightOf="@+id/AwayScore"

        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@color/blue"
        android:textStyle="bold" 
        />

    <TextView
        android:id="@+id/HomeTeam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/HomeScore"
        android:layout_alignBottom="@+id/HomeScore"
        android:layout_alignParentLeft="true"

        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@color/blue"
        android:textStyle="bold" 
        />

</RelativeLayout>

Heres l'erreur

05-18 13:55:57.552: E/AndroidRuntime(3987): java.lang.RuntimeException: Unable to start activity ComponentInfo{co.uk.myApp.MyApp/co.uk.myApp.MyApp.HomeActivity}: java.lang.NullPointerException
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1821)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread.access$1500(ActivityThread.java:132)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.os.Looper.loop(Looper.java:143)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread.main(ActivityThread.java:4263)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at java.lang.reflect.Method.invokeNative(Native Method)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at java.lang.reflect.Method.invoke(Method.java:507)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at dalvik.system.NativeStart.main(Native Method)
05-18 13:55:57.552: E/AndroidRuntime(3987): Caused by: java.lang.NullPointerException
05-18 13:55:57.552: E/AndroidRuntime(3987):     at co.uk.myApp.MyApp.HomeActivity.onCreate(HomeActivity.java:576)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
05-18 13:55:57.552: E/AndroidRuntime(3987):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785)

Était-ce utile?

La solution

Vous devez changer:

TextView homeTeam = (TextView) findViewById(R.id.HomeTeam);

à ceci:

TextView homeTeam = (TextView) resultsView.findViewById(R.id.HomeTeam);

pourquoi?Parce que hometam est disponible dans votre vue gonflée.Donc, vous devez vous référer à votre point de vue gonflé / groupe de vitesses lorsque vous trouvez la vue enfant

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top