我是一名菜鸟Android工作室程序员(这是学习的第2小时!)我希望这是一个真正的新手错误我正在制作!
我的应用程序中有一个纯文本字段,我想动态设置它的文本。我给了明文字段ID:“resultText”。这是我尝试的内容;
public void calcnums(View v)
{
int x=firstNum + seondNum;
resultText.setText("Result: " + x);
}
出于某种原因,我将'resultText'突出显示为红色,并将鼠标悬停在消息上;无法解析符号'resultText'。
我觉得我使用ID做错了,但我迷路了!
评论中建议的完整代码;
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 :(得分:2)
您似乎需要声明View resultText
像,
EditText resultText = (EditText) findViewById(R.id.resultText);
还要确保您在
通常无法解析符号表示变量声明中存在一些问题。
我也在学习android,我也偶然发现了这个问题。
答案 1 :(得分: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"
/>
答案 2 :(得分:-1)
我们假设我们有一个带有edittext的布局
<EditText
android:id="@id/txt_user_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
它有一个ID。在您的actoteivy中,您必须找到并转换EditText,如下所示:
EditText txtUserEmail = (EditText) findViewById(R.id.txt_user_email);
txtUserEmail.setText("klaus.dieter@lusty-swingers.de");
答案 3 :(得分:-1)
您需要在onCreate()
中找到您的文字视图,例如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_numbers);
TextView tx= (TextView) findViewById(R.id.text);
}