2012-07-23 64 views
0

將ID分配給幾個編輯文本導致以下錯誤:的Android的EditText問題findviewbyId

the error is in the parameters of findViewById token 

這裏是代碼行其上

final EditText myEditField = (EditText) findViewById(R.id.percentText1); 

...這是XML代碼對不起,再次發佈爪哇的書呆子...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/percentText1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <Button 
     android:id="@+id/enterButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="224dp" 
     android:onClick="onEnterClick" 
     android:text="Calculate Tip" /> 

    <EditText 
     android:id="@+id/percentText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="53dp" 
     android:ems="10" 
     android:singleLine="true" 
     android:text="Percent" /> 

    <EditText 
     android:id="@+id/percentage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/percentText" 
     android:layout_alignParentTop="true" 
     android:ems="10" 
     android:singleLine="true" 
     android:text="Bill Amount" > 

     <requestFocus /> 
    </EditText> 

</RelativeLayout> 

... Java代碼...錯誤我的數字是,我不正確地給編輯文本的ID ...

package tip.calculator; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Context; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.support.v4.app.NavUtils; 
import android.widget.CheckBox; 
import android.widget.EditText; 
import android.widget.TextView; 
import tip.calculator.R; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     EditText myEditField = (EditText) findViewById(R.id.percentText); //error here 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

    public void onEnterClick(String args []){ 


     int percentage; 
     int percentageInp; 
     int billAmount; 
    } 


} 
+0

你能發佈你的XML佈局嗎?需要確保你正確設置了ID。 – 2012-07-23 22:57:49

+1

請添加您的xml文件。可能有機會,你實際上只是複製粘貼一些編輯文本,並忘記改變那裏的編號。 – Ahmed 2012-07-23 22:57:49

+0

我只是左鍵點擊他們在大綱視圖和按下更改ID,是我應該這樣做我的XML?如果是的話,你能告訴我怎麼樣?謝謝 – PrommeringsDisplay 2012-07-23 23:02:21

回答

2

確保您不要在你的進口有這個

import android.R; 

Eclipse中有時進口該類這反而應該是

import your.application.packagename.R; 

通常這種情況發生當我們ctrl+shft+o來修復進口。當我們這樣做時,Eclipse增加了R類。 :)

編輯:

從你的新問題,有一個拼寫錯誤。 嘗試這一行粘貼onCreate()方法中:

EditText myEditField = (EditText) findViewById(R.id.percentText); 
+0

我沒有在我的進口,所以我添加了第二類,但沒有任何變化 – PrommeringsDisplay 2012-07-23 23:04:25

+0

張貼您的XML和Java代碼 – Nerd 2012-07-23 23:04:54

+0

XML在主要職位 – PrommeringsDisplay 2012-07-23 23:09:59

0

您需要了解的是,如果有比沒有資源沒有任何問題的任何地方工作。所以請檢查資源文件夾中是否有錯誤?列出了任何問題嗎?然後只是試圖找到一個按鈕,評論其他的一切。在解決所有佈局錯誤之前,您不會找到任何內容。然後,只需確保您在聲明ID這樣

android:id="@+id/myTextId" 
+0

我會把這個放在佈局xml文件的editText部分右邊> – PrommeringsDisplay 2012-07-23 23:20:45

1

變化

final EditText myEditField = (EditText) findViewById(R.id.percentText1); 

final EditText myEditField = (EditText) findViewById(R.id.percentText); 

percentText1是RelativeLayout的標識不EditText上。

0

import tip.calculator.R; < - 這是我認爲的問題