2016-07-20 3 views
-2

Я программист на Android-студии noob (это час обучения!), И я ожидаю, что это настоящая ошибка новобранец, которую я делаю!Невозможно разрешить символ (любые ID) Android Studio

У меня есть поле Plain Text в моем приложении, и я хотел бы установить текст этого динамически. Я дал текстовому полю идентификатор: «resultText». Вот что я пытаюсь;

public void calcnums(View v) 
{ 
    int x=firstNum + seondNum; 
    resultText.setText("Result: " + x); 
} 

По какой-то причине я получаю «resultText», выделенную красным цветом, и сообщение наведите на сообщение; Не удается разрешить символ «resultText».

У меня такое ощущение, что я делаю что-то неправильно, используя идентификатор, но я потерян!

Полный код, как предлагается в комментариях;

import android.app.Application; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

import java.util.Random; 

public class AddNumbers extends AppCompatActivity { 
    private int firstNum; 
    private int seondNum; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add_numbers); 
    } 

    public void calcnums(View v) 
    { 
     int x=firstNum + seondNum; 
     resultText.setText(String.format("Result: %d", x); 
    } 
    public void setNums(View v) 
    { 
     TextView tx= (TextView) findViewById(R.id.text); 
     Random r = new Random(); 
     int x=r.nextInt(2) + 1; // r.nextInt(2) returns either 0 or 1 
     firstNum = x; 
     r = new Random(); 
     x=r.nextInt(2) + 1; 
     seondNum = x; 
     num1.setText(""+firstNum); 
     num2.setText(""+seondNum); 
    } 
} 
+0

Если кто-то, кто ниспроверг, может дать мне знать, как улучшить вопрос, я был бы признателен. – FraserOfSmeg

+0

Опубликуйте свой полный макет и код операции, чтобы кто-то мог помочь. – Drv

+0

@ Drv спасибо, я добавил весь код прямо сейчас! Ошибка возникает в 'resultText', 'num1' и 'num2'. – FraserOfSmeg

ответ

2

Кажется, вы должны объявить View resultText

Мол,

EditText resultText = (EditText) findViewById(R.id.resultText); 

Также убедитесь, что имя, которое вы используете для resultText Просмотр в XML написано правильно, как это предусмотрено в методе findViewById()

обычно не может разрешить символ означает, что некоторые проблемы в объявлениях переменных.

Я тоже изучаю андроид, и я тоже наткнулся на эту проблему.

-1

Давайте предположим, что у нас есть макет с EditText

<EditText 
      android:id="@id/txt_user_email" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="text" /> 

Он имеет идентификатор. В вашем actitivy вы должны найти и бросить EditText следующим образом:

EditText txtUserEmail = (EditText) findViewById(R.id.txt_user_email); 
txtUserEmail.setText("[email protected]"); 
+0

благодарит за отрицательную возможность без комментариев, twa * –

-1

Вы должны найти свой вид текста в onCreate(), как это:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_numbers); 
    TextView tx= (TextView) findViewById(R.id.text); 
} 
1

У меня нет всего фрагмента вашего кода. Но то, что вам не хватает, - это указать объект EditText для просмотра в xml.

EditText resultText = (EditText) v.findViewById (R.id.result_edit_text);

<EditText 
    android:id="@+id/result_edit_text" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="@string/result_edit_text" 
    /> 
Смежные вопросы