2015-06-14 78 views
0

我有一個使用Android Studio的奇怪問題。我無法設置TextView(tAx)的文本,引用不是'空指針',並且我沒有錯誤或異常,只是我沒有看到文本。無法在文本視圖中設置文本

我的主類:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    setContentView(R.layout.main); 
    super.onCreate(savedInstanceState); 

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); 


    tAx = (TextView) findViewById(R.id.Ax); 
    tAx.setText("prova"); 
    // Set up the custom title 
    mTitle = (TextView) findViewById(R.id.title_left_text); 
    // mTitle.setText(R.string.app_name); 
    mTitle = (TextView) findViewById(R.id.title_right_text); 

    // Get local Bluetooth adapter 
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

    // If the adapter is null, then Bluetooth is not supported 
    if (mBluetoothAdapter == null) { 
     Toast.makeText(this, "Bluetooth is not available",   Toast.LENGTH_LONG).show(); 
     finish(); 
     return; 
    } 
} 

XML主營:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:weightSum="1"> 

<TextView android:id="@+id/Ax" 
    android:layout_width="198dp" 
    android:layout_height="38dp" 
    android:textSize="20dp" 
    android:visibility="visible" 
    android:background="#ffffffff" 
    android:textColor="#fff" 
/> 


</LinearLayout> 

謝謝你!

更新:

謝謝你!所以現在我可以設置文本但只有一次(第一次)!在另一個課程中,我嘗試通過引用來設置文本(使用靜態和公開的引用稅),但它們不會更改,但仍然是第一個,並且控制檯上的Android Studio打印錯誤:

Only the original thread that created a view hierarchy can touch its views

RemoteBluetooth.tAx.setText(String.valueOf(Ax));

+0

這就是你所有的佈局的XML? – ridsatrio

+0

調用super.onCreate後調用setContentView –

+0

是的,它是我所有的佈局的xml。我現在開始使用Android。 – alessandroAmedei

回答

0

刪除android:weightSum="1"

,並檢查您xml文件的其餘部分,因爲當你在你的xml文件語法錯誤發生這種情況。

1

您可以通過使用以小寫字母開頭的ID來解決您的錯誤。 Android似乎遇到了以大寫字母開頭的問題。

0

你只是把它白色繪製成白色。將textColor屬性更改爲其他值。

+0

謝謝你!所以現在我只能設置文本一次!在另一個課程中,我嘗試通過引用來設置文本(使用靜態和公共的tAx),但它們不會改變,但仍然是第一個!你可以幫我嗎?謝謝。 'RemoteBluetooth.tAx.setText(String.valueOf(Ax));' – alessandroAmedei

+0

根據你發佈的錯誤判斷,看起來你不能。更新視圖只能從UI線程進行管理 - 看起來像您正在嘗試從另一個線程設置文本。這可能是一個新問題的材料,但我想這種問題在這裏已經有了答案。 – natario

0

你用相同的顏色值設置背景和文字顏色,詛咒你看不到任何改變。

將文本的顏色更改爲與背景不同的顏色。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:weightSum="1"> 

    <TextView 
     android:id="@+id/Ax" 
     android:layout_width="198dp" 
     android:layout_height="38dp" 
     android:background="#ffffffff" 
     android:textColor="#000" 
     android:textSize="20dp" 
     android:visibility="visible" /> 
</LinearLayout>