R 变量出错



我在R变量上遇到错误。变量是R.id.drawer_layout、R.id.layout和R.id.main。id后面的单词下面有一条红色的波浪线。这些都是来自 R 的错误。我的布局有问题吗?我刚刚开始安卓编程,这是来自github的。

http://manishkpr.webheavens.com/android-navigation-drawer-example-using-fragments/^这是教程和代码的来源。

package com.anshikka.datagushalpha;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends FragmentActivity {
    final String[] data ={"one","two","three"};
    final String[] fragments ={
            "com.anshikka.datagushalpha.FragmentOne",
            "com.anshikka.datagushalpha.FragmentTwo",
            "com.anshikka.datagushalpha.FragmentThree"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         @SuppressWarnings({ "unchecked", "rawtypes" })
        ArrayAdapter adapter = new    ArrayAdapter(getActionBar().getThemedContext(), android.R.layout.simple_list_item_1, data);
     final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
     final ListView navList = (ListView) findViewById(R.id.drawer);
     navList.setAdapter(adapter);
     navList.setOnItemClickListener(new OnItemClickListener(){
             @Override
             public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){
                     drawer.setDrawerListener( new DrawerLayout.SimpleDrawerListener(){
                             @Override
                             public void onDrawerClosed(View drawerView){
                                     super.onDrawerClosed(drawerView);
                                     FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
                                     tx.replace(R.id.main, Fragment.instantiate(MainActivity.this, fragments[pos]));
                                     tx.commit();
                             }
                     });
                     drawer.closeDrawer(navList);
             }
     });
     FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
     tx.replace(R.id.main,Fragment.instantiate(MainActivity.this, fragments[0]));
     tx.commit();
}
}

导入您的R

是这样的

import com.yourproject.R;

查看您的导入,如果您发现"android.R"删除它。最后,按 Ctrl + Shift + O 导入项目的 R(使用 Eclipse 作为 IDE)或手动添加它:

import com.anshikka.R

之后,您应该会在文件顶部看到导入com.anshikka.R

检查你是否有两个主要的.java类。 几天前,当我将项目导入当前项目时,我遇到了这个问题。 我有两个主要类,删除一个后,R 错误消失了。 还要确保导入了正确的 R 类。 如果在导入 R 类后,您在导入错误的 R 类

class="one_answers".activity_main下得到一条红线>我想

这些变量不存在,因为红线只出现在"id"后面的单词下。

如果您尚未将您提到的链接中提供的文件(定义 "@+id/drawer_layout""@+id/"main""@+id/drawer"activity_main.xml复制到项目的 res/layout 文件夹中,则不会生成相应的变量。

最新更新