我是日食的新手,我刚开始写一些代码(实际上它只是从网站上复制和粘贴)。任何人都可以帮我解决这个问题吗?
错误出现在R.id.toggleButton1
上,我添加了一行
android:id="@+id/toggleButton1"
在我的布局activity_main.xml
中,但错误仍然存在:(
错误是:
toggleButton1无法解析或不是字段
java源代码:
package com.example.ledgo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends Activity {
ToggleButton tgbutton;
private Activity activity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity = this;
tgbutton = (ToggleButton) findViewById(R.id.toggleButton1);
tgbutton.setOnClickListener(new OnClickListener() {
...
我的布局xml或名为activity_main的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
...
答案 0 :(得分:5)
问题: Eclipse告诉您toggleButton1
未被识别为R.id
的字段。这可能是因为R.java
未正确生成。
解决方案:要强制eclipse重新生成R.java
,请清理并重建项目。这可以通过Project > Clean...
注意:如果甚至无法识别R,可能是因为您的活动不在主程序包中,您需要导入R.java
。这不应该是您的情况,因为您在字段级别上遇到了错误,而不是R
。
但是,如果是这样的话,我会假设你的基础包是com.example
。如果是这样,您应该在活动类声明之前在其他导入下面添加以下行:
import com.example.R;
答案 1 :(得分:1)
无需导入R.java
。
在eclipse中转到Project-&gt;清理并再次运行您的应用程序。
答案 2 :(得分:1)
尝试
ctrl + shift + o
在Eclipse中组织导入,清理构建应用程序,这应该有效
关于onClickListener()
,它让我们告诉O.S单击该按钮时该怎么做。
onClick()
来自View.OnClickListener。当用户触摸时调用此方法 该项目(在触摸模式下),或关注项目与 导航键或轨迹球并按下合适的“输入”键或 按下轨迹球。
详细了解Input Events
这是一个有用的SO Link for onClickListener