将ID分配给少量编辑文本会导致以下错误:
the error is in the parameters of findViewById token
以下是
上的代码行final EditText myEditField = (EditText) findViewById(R.id.percentText1);
...这是Xml代码再次抱歉发布java ...
<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 :(得分:2)
确保您的导入中没有此内容
import android.R;
Eclipse有时会导入这个类,而不应该是
import your.application.packagename.R;
通常在我们ctrl+shft+o
修复导入时会发生这种情况。当我们这样做时,Eclipse会添加R
类。 :)
编辑:
来自您的新问题,有拼写错误。 尝试将此行粘贴到onCreate()方法中:
EditText myEditField = (EditText) findViewById(R.id.percentText);
答案 1 :(得分:1)
更改
final EditText myEditField = (EditText) findViewById(R.id.percentText1);
到
final EditText myEditField = (EditText) findViewById(R.id.percentText);
percentText1是RelativeLayout的id,不适用于EditText。
答案 2 :(得分:0)
您需要了解的是,如果资源出现任何问题,那么任何事情都无济于事。那么检查资源文件夹中是否有任何错误?是否列出了任何问题?然后尝试找到其中一个按钮,评论其他所有内容。在解决所有布局错误之前,您将找不到任何内容。然后确保你声明这样的id
android:id="@+id/myTextId"
答案 3 :(得分:0)
import tip.calculator.R; &lt; - 这就是我认为的问题