EditText не может быть разрешен для типа
Я определил макет в XML файле в папке "res" моего проекта Android. Элемент "EditText" выглядит так:
<EditText android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numeric="integer|decimal"></EditText>
В моем файле класса в моем проекте андроида у меня есть следующее:
public void doCalculation(View view) {
String firstNo = ((EditText) findViewById(R.id.editText1)).getText().toString();
String secondNo = ((EditText) findViewById(R.id.editText2)).getText().toString();
String operator = ((Spinner) findViewById(R.id.spinner1)).getSelectedItem().toString();
callWebService(firstNo, secondNo, operator );
}
К сожалению, первые 2 назначения в моем методе выше показывают ошибку в eclipse с указанием
EditText cannot be resolved to a type
Я не знаю, как это исправить. Я использую android 2.3.3 API 10.
Любая помощь будет оценена по достоинству. Благодаря
Ответы
Ответ 1
Вам нужно импортировать класс EditText
, поэтому он известен, используя следующую строку в начале вашего файла .java
:
import android.widget.EditText;
Обратите внимание, что в большинстве случаев Eclipse может вам очень помочь: у него есть функция Организовать импорт, которая добавит необходимые строки import
:
- Меню >
Source
> Organize Imports
- Или используйте Ctrl + Shift + O
Ответ 2
Вы пытались добавить это вручную?
import android.widget.EditText;
Также проверьте наличие ошибок в консоли и журнале ошибок. Обычно с такими очевидными причинами может быть и другое.
Если импорт не работает, попробуйте закрыть и снова открыть проект.
Ответ 3
Если вы попытались импортировать файл android.widget.EditText и не пытались очистить свой проект в Project → Clean... и попробуйте щелкнуть правой кнопкой мыши на вашем проекте, выберите инструменты Android, затем исправьте проект свойства. Надеюсь, что это поможет.
Ответ 4
Если ни один из других ответов не работает, вы всегда можете сделать это:
EditText txt1 = (EditText)findViewById(R.id.editText1);
EditText txt2 = (EditText)findViewById(R.id.editText2);
String firstNo = txt1.getText().toString();
String secondNo = txt2.getText().toString();
Ответ 5
Проверьте импорт.
Чтобы получить текст из EditText
, попробуйте получить значение TextView
. Это может сработать.
String firstNo = ((TextView) findViewById(R.id.editText1)).getText().toString();
String secondNo = ((TextView) findViewById(R.id.editText2)).getText().toString();
Ответ 6
Выше вашего класса просто импортируйте:
import android.widget.EditText;