我在R变量上遇到错误。变量是R.id.drawer_layout,R.id.layout和R.id.main。在id之后的单词下面有一条红色的波浪线。这些都是来自R的错误。我的布局有问题吗?我刚开始进行android编程,这是来自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();
}
}
答案 0 :(得分:2)
导入R
,
就像是
import com.yourproject.R;
答案 1 :(得分:1)
查看导入,如果找到“android.R”,请将其删除。最后,按 Ctrl + Shift + O 导入项目的R(使用Eclipse作为IDE)或者只需手动添加它:
import com.anshikka.R
之后,您应该在文件顶部的导入中看到com.anshikka.R
。
答案 2 :(得分:0)
我认为这些变量不存在,因为红线只出现在“id”之后的单词下面。
如果您尚未将您提到的链接activity_main.xml
复制到项目{{1} }文件夹,没有生成相应的变量。
答案 3 :(得分:0)
检查是否有两个main.java类。几天前,当我将项目导入当前项目时,我遇到了这个问题。我有两个主要类,在删除一个后,R错误消失了。还要确保导入正确的R类。如果在导入R类后,您在.activity_main下获得了红线,导入了错误的R类