我正在开发一个用于学习目的的简单应用程序,其中有一个复选框和一个文本行,显示已选中或未选中。但它在行setContentView(R.layout.main)
和cb=(CheckBox)findViewById(R.id.check)
中显示错误,这是我的java代码:
package com.example.kaushal.checkbox;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.R;
public class Checkbox extends Activity
implements CompoundButton.OnCheckedChangeListener {
CheckBox cb;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
cb=(CheckBox)findViewById(R.id.check);
cb.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
cb.setText("This checkbox is: checked");
}
else {
cb.setText("This checkbox is: unchecked");
}
}
}
这不是一个重复的问题,我已经看到了相同问题的答案,但这完全是为了eclipse。我正在使用android studio。
这是我的xml布局代码:
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Checkbox">
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This checkbox is: unchecked" />
</RelativeLayout>
我是android新手所以请指导我。
答案 0 :(得分:0)
导入错误:
import android.R;
您没有导入自己的R文件,尝试导入您的&lt; package&gt; .R,可能是com.example.kaushal.R
,而不是android.R。
答案 1 :(得分:0)
import android.R;
import android.R.layout;
清理项目并重新重建。
答案 2 :(得分:0)
导入包名称而不是R文件。像那样
import com.example.kaushal.checkbox.R;
而不是重建你的项目。
import com.example.kaushal.checkbox.R;
答案 3 :(得分:0)
尝试setContentView(R.layout.activity_main);
而不是setContentView(R.layout.main);
答案 4 :(得分:0)
我自己找到了答案。我的错误不是因为这里的错误导入错误。这是因为分别使用错误的name
和id
布局文件和check box
。我的.xml
布局文件名为activity_my_checkbox.xml
。所以我应该使用:
setContentView(R.layout.activity_my_checkbox);
我的复选框ID为c
而不是check
,所以我应该使用
cb=(CheckBox)findViewById(R.id.c);
答案 5 :(得分:0)
我可以通过一个简单的步骤解决这个问题:
开始归档, 选择无效的缓存/重启, 选择无效的缓存/重新启动。
请稍等...