2013-06-25 52 views
0

我是Android新手。我正在製作一個隨機生成器程序,它在按鈕單擊時生成一個數字並將其顯示在textview上。我無法訪問textview時,我輸入R.id.我沒有得到textview的名稱,但我得到其他組件的名稱。我的佈局代碼是: -TextView無法訪問

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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:orientation="horizontal"> 
    <EditText android:id="@+id/edit_message" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="@string/edit_message" /> 

    <TextView android:id="@+id/txt02" android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/button_send" 
     android:onClick="sendMessage" /> 

</LinearLayout> 

Java代碼是: -

public void sendMessage(View view) { 
     // Do something in response to button 
     EditText editmessage = (EditText)findViewById(R.id.edit_message); 
     String message = editmessage.getText().toString(); 
     Random r=new Random(); 
     int i1=(r.nextInt(80) +65); 
     message += "\n " + i1; 


     // Create the text view 

     TextView textView = (TextView) findViewById(R.id.); // not able to access R.id.txt02   

    } 
+7

嘗試Project-> Clean。 –

+0

你是否自動設置了選項構建? – marimaf

+0

@Michael Z謝謝了:) –

回答

0

最有可能的問題是,你的R.java文件尚未與您添加的EditText更新。在eclipse中,你可以強制更新來做到這一點。正如Michal Z.在評論中提到的那樣嘗試Project->Clean

您還可以通過檢查Project->Build Automatically選項來設置在eclipse中自動生成的選項。這將確保eclipse會自動構建您的項目並在您每次保存項目時更新R.java文件。

0

如果清理你的項目沒有幫助,我會檢查你的源文件,以確保在你的導入中沒有一行說「import android.R」,因爲它會導入標準的Android R對象不包括你的任何聲明的資源)。 Eclipse有時會在你剪切和粘貼代碼時這樣做,這可能令人沮喪,但刪除導入和清理/構建項目應該修復它。