2012-05-18 23 views
0

嗨,我想改變在充氣視圖中的文本,但應用程序崩潰。Android改變textView後膨脹另一個視圖

我想要做的是用變量HomeTeam和AwayTeam中的內容填充文本視圖這些變量不爲空,因爲當我記錄它們時,有名稱在那裏。

所以我的問題是如何改變文本視圖並替換其內容

繼承人什麼我已經試過

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); 

膨脹的觀點

<?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> 

繼承人的錯誤

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) 

回答

9

您需要更改:

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

要這樣:

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

爲什麼呢?因爲HomeTeam在您的充氣視圖中可用。因此,您需要在查找子視圖時參考您的虛擬查看/查看組

+0

謝謝您,這是正確的,我會接受您的答案,稍後必須等待10分鐘 –