为啥找不到身份证?
Posted
技术标签:
【中文标题】为啥找不到身份证?【英文标题】:Why is ID not found?为什么找不到身份证? 【发布时间】:2014-06-03 00:10:09 【问题描述】:我是eclipse的新手,刚开始写一些代码(实际上只是从网站上复制和粘贴)。谁能帮我解决这个问题?
错误出现在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_
android:layout_
android:gravity="center"
android:orientation="vertical" >
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_
android:layout_
>
...
【问题讨论】:
import yourpakage.R;
在您的活动中
对不起,看不懂,我是新手:(
试试这个在你的活动顶部添加import com.example.ledgo.R;
在 Eclipse 中尝试“ctrl + shift + o”来组织导入,清理构建您的应用程序,这应该可以工作
如果Activity在基础包中就不需要导入R(如果com.example.ledgo
是应用基础包)
【参考方案1】:
问题: Eclipse 告诉您toggleButton1
未被识别为R.id
的字段。这可能是因为R.java
没有正确生成。
解决方案:要强制 eclipse 重新生成 R.java
,请清理并重建您的项目。这可以通过Project > Clean...
在 Eclipse 中完成
注意:如果连R都不识别,可能是因为你的activity不在主包里,需要导入R.java
。这不应该是您的情况,因为您遇到了字段级别的错误,而不是 R
。
但是,如果是这样的话,我会假设您的基本包是com.example
。如果是这样,您应该在其他导入下方添加以下行,就在您的活动类声明之前:
import com.example.R;
【讨论】:
【参考方案2】:无需导入R.java
。
在 Eclipse 中转到 Project->Clean 并再次运行您的应用程序。
【讨论】:
【参考方案3】:试试ctrl + shift + o
在 Eclipse 中组织导入,清理构建您的应用程序,这应该可以工作
关于onClickListener()
,它让我们告诉操作系统在单击该按钮时要做什么。
onClick()
来自 View.OnClickListener。当用户触摸时调用 项目(在触摸模式下),或用 导航键或轨迹球并按下合适的“输入”键或 按下轨迹球。
阅读更多关于Input Events
这是一个有用的SO Link for onClickListener
【讨论】:
以上是关于为啥找不到身份证?的主要内容,如果未能解决你的问题,请参考以下文章
js为啥根据id就可以找到容器里的子元素,而根据类名就找不到?