R.string不保存在R.java()中

时间:2014-04-26 14:59:39

标签: java android eclipse

它不允许我在R.java中保存R.string并且它总是说我已经修改了,即使我没有可以有人请帮助我,我已经尝试清理项目,它仍然无法解决问题

公共类MainActivity扩展了Activity {

private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;

private CharSequence mDrawerTitle;
private CharSequence mTitle;
CustomDrawerAdapter adapter;

List<DrawerItem> dataList;

@Override
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Initialising
      dataList = new ArrayList<DrawerItem>();
      mTitle = mDrawerTitle = getTitle();
      mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
      mDrawerList = (ListView) findViewById(R.id.left_drawer);

      mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
                  GravityCompat.START);

      // Add Drawer Item to dataList
      dataList.add(new DrawerItem("Message", R.drawable.ic_action_email));
      dataList.add(new DrawerItem("Likes", R.drawable.ic_action_good));
      dataList.add(new DrawerItem("Games", R.drawable.ic_action_gamepad));
      dataList.add(new DrawerItem("Lables", R.drawable.ic_action_labels));
      dataList.add(new DrawerItem("Search", R.drawable.ic_action_search));
      dataList.add(new DrawerItem("Cloud", R.drawable.ic_action_cloud));
      dataList.add(new DrawerItem("Camara", R.drawable.ic_action_camera));
      dataList.add(new DrawerItem("Video", R.drawable.ic_action_video));
      dataList.add(new DrawerItem("Groups", R.drawable.ic_action_group));
      dataList.add(new DrawerItem("Import & Export",
                  R.drawable.ic_action_import_export));
      dataList.add(new DrawerItem("About", R.drawable.ic_action_about));
      dataList.add(new DrawerItem("Settings", R.drawable.ic_action_settings));
      dataList.add(new DrawerItem("Help", R.drawable.ic_action_help));

      adapter = new CustomDrawerAdapter(this, R.layout.custom_drawer_item,
                  dataList);

      mDrawerList.setAdapter(adapter);

      mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

      getActionBar().setDisplayHomeAsUpEnabled(true);
      getActionBar().setHomeButtonEnabled(true);

//

R.string.drawer_open和drawer_close是问题所在 //是,其余的代码很好,我相信

      mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,             
                  R.drawable.ic_drawer, R.string.drawer_open,
                  R.string.drawer_close) {
            public void onDrawerClosed(View view) {
                  getActionBar().setTitle(mTitle);
                  invalidateOptionsMenu(); // creates call to
                                                            // onPrepareOptionsMenu()
            }

            public void onDrawerOpened(View drawerView) {
                  getActionBar().setTitle(mDrawerTitle);
                  invalidateOptionsMenu(); // creates call to
                                                            // onPrepareOptionsMenu()
            }
      };

      mDrawerLayout.setDrawerListener(mDrawerToggle);

      if (savedInstanceState == null) {
            SelectItem(0);
      }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
}

public void SelectItem(int possition) {

      Fragment fragment = null;
      Bundle args = new Bundle();
      switch (possition) {
      case 0:
            fragment = new FragmentOne();
            args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 1:
            fragment = new FragmentTwo();
            args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 2:
            fragment = new FragmentThree();
            args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 3:
            fragment = new FragmentOne();
            args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 4:
            fragment = new FragmentTwo();
            args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 5:
            fragment = new FragmentThree();
            args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 6:
            fragment = new FragmentOne();
            args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 7:
            fragment = new FragmentTwo();
            args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 8:
            fragment = new FragmentThree();
            args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 9:
            fragment = new FragmentOne();
            args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 10:
            fragment = new FragmentTwo();
            args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 11:
            fragment = new FragmentThree();
            args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      case 12:
            fragment = new FragmentOne();
            args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
                        .getItemName());
            args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
                        .getImgResID());
            break;
      default:
            break;
      }

      fragment.setArguments(args);
      FragmentManager frgManager = getFragmentManager();
      frgManager.beginTransaction().replace(R.id.content_frame, fragment)
                  .commit();

      mDrawerList.setItemChecked(possition, true);
      setTitle(dataList.get(possition).getItemName());
      mDrawerLayout.closeDrawer(mDrawerList);

}

@Override
public void setTitle(CharSequence title) {
      mTitle = title;
      getActionBar().setTitle(mTitle);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
      super.onPostCreate(savedInstanceState);
      // Sync the toggle state after onRestoreInstanceState has occurred.
      mDrawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
      // Pass any configuration change to the drawer toggles
      mDrawerToggle.onConfigurationChanged(newConfig);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
      // The action bar home/up action should open or close the drawer.
      // ActionBarDrawerToggle will take care of this.
      if (mDrawerToggle.onOptionsItemSelected(item)) {
            return true;
      }

      return false;
}

  private class DrawerItemClickListener implements
            ListView.OnItemClickListener {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position,
                  long id) {
            SelectItem(position);

      }
}

}

我的请求是有人可以帮我找到问题并修复我的代码谢谢

1 个答案:

答案 0 :(得分:0)

我认为您无法在onCreate()

之前或之前访问资源

来源:How to use getString() on static String before onCreate()?