setContentView无法识别XML文件

时间:2015-11-01 02:39:58

标签: android xml setcontentview

我是android的新手....我创建了一个项目,我在其中创建了一个studreg.class和studreg.xml文件。还有一个string.xml,因为我用来创建微调器。

现在setContentView无法识别studreg.xml,而且我也看不到gen文件夹中的任何R.java。请看下面的cod并帮助我。

studreg.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">IITKOL</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="qualification">Select Highest Qualification</string>
<string-array name="list_qualification">
    <item>item1</item>
    <item>item2</item>
    <item>item3</item>
    <item>item4</item>
    <item>item5</item>
    <item>item6</item>
    <item>item7</item>
    <item>item8</item>
   </string-array>
</resources>


studreg.java**
package iitkol.com;

import android.app.Activity;
import android.R;
import android.content.ContentValues;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


public class studreg extends Activity{
protected static final int LENGTH_LONG = 0;
private TextView st_heading;
private EditText st_name,st_phno,st_email;
private Spinner st_course,st_qlf;
private Button st_submit,st_reset;
private DataHelper dataHelper;


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.studreg);
    st_heading=(TextView)findViewById(R.id.heading);
    st_name=(EditText)findViewById(R.id.edit_name);
    st_phno=(EditText)findViewById(R.id.edit_contact);
    st_email=(EditText)findViewById(R.id.edit_emailid);
    st_course=(Spinner)findViewById(R.id.course);
    st_qlf=(Spinner)findViewById(R.id.qlf);
    st_submit=(Button)findViewById(R.id.btn_submit);
    st_reset=(Button)findViewById(R.id.btn_reset);

    st_submit.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ContentValues contentValues = new ContentValues();
                    contentValues.put("studname",st_name.getText().toString().trim());
                    contentValues.put("studphno",st_phno.getText().toString().trim());
                contentValues.put("studemail",st_email.getText().toString().trim());
                contentValues.put("studqlf",st_qlf.getContext().toString().trim());
                contentValues.put("studcourse",st_course.getContext().toString().trim());
            dataHelper.insert("studform",contentValues);
            Toast.makeText(studreg.this,"Thanks for registering.We will contact you shortly",LENGTH_LONG).show();


        }

    });


}

strings.xml** 

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">IITKOL</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="qualification">Select Highest Qualification</string>
<string-array name="list_qualification">
    <item>item1</item>
    <item>item2</item>
    <item>item3</item>
    <item>item4</item>
    <item>item5</item>
    <item>item6</item>
    <item>item7</item>
    <item>item8</item>
   </string-array>
</resources>

2 个答案:

答案 0 :(得分:0)

由于您的gen文件夹中没有R.java文件,这意味着在r.java文件中不会检测到您的xml文件视图,因此我们有xml视图(如按钮,图像视图等)id&#39; s编译器为xml中的每个视图生成id。正如你所说,你的项目中没有R.java,只是意味着setContentView不会检测你的xml文件。因此,为了消除此错误,您必须首先生成R.java文件。

要生成文件,您必须清理项目并再次构建它。 eclipse将再次生成该文件。但有时它不生成所以如果上述方法不起作用,还有另一种方法,然后尝试更改工作区并将该项目导入新工作区,然后清理并再次构建它。

答案 1 :(得分:0)

您在帖子中的studreg.xml下粘贴了strings.xml。请仔细检查。

通常,如果xml中出现错误,编译器将无法生成R.java,并且所有使用R.xxx.xxx的java代码都会出错。