我是Android新手。我正在制作一个随机生成器程序,在按钮点击时会生成一个数字并在textview上显示它。当我输入R.id.
时,我无法访问textview,但我没有得到textview的名称,但我得到了其他组件的名称。我的布局代码是: -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<TextView android:id="@+id/txt02" android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>
Java代码是: -
public void sendMessage(View view) {
// Do something in response to button
EditText editmessage = (EditText)findViewById(R.id.edit_message);
String message = editmessage.getText().toString();
Random r=new Random();
int i1=(r.nextInt(80) +65);
message += "\n " + i1;
// Create the text view
TextView textView = (TextView) findViewById(R.id.); // not able to access R.id.txt02
}
答案 0 :(得分:0)
问题很可能是您的R.java文件尚未使用您添加的EditText进行更新。在eclipse中,您可以强制执行此更新。在评论中尝试Michal Z.所提到的Project->Clean
。
您还可以通过选中Project->Build Automatically
选项将选项设置为在eclipse中自动构建。这将确保eclipse每次保存项目时都会自动构建项目并更新R.java文件。
答案 1 :(得分:0)
如果清理你的项目没有帮助,我会检查你的源文件,以确保你的导入中没有一行说“import android.R”,因为这将导入标准的Android R对象(不会不包括您声明的任何资源。 Eclipse有时会在您剪切和粘贴代码时执行此操作,这可能令人沮丧,但删除导入和清理/构建项目应修复它。