Android菜单Inflater冲突?

时间:2013-09-08 21:06:39

标签: java android menu r.java-file

因此在执行这个旧教程时,我遇到了导入android.R(我需要simple_list_item_1)的问题但是打破了我的R.menu.cmenu(cmenu.xml),我在这里缺少什么? ...是的,我有xml设置。

import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Menu extends ListActivity {

    String classes[] = {"MainActivity", "TextPlay", "Email", "Camera", "Data", "OpenedClass"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(Menu.this, R.layout.simple_list_item_1, classes));
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        String cheese = classes[position];
        try{
        Class ourClass = Class.forName("com.example.test1." + cheese);
        Intent ourIntent = new Intent(Menu.this, ourClass);
        startActivity(ourIntent);
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(android.view.Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater blowUp;
        blowUp = getMenuInflater();
        blowUp.inflate(R.menu.cmenu, menu); //cmenu has the error: rename
        return true;
    }
}

1 个答案:

答案 0 :(得分:2)

不要导入Android.R。

  

注意:Eclipse有时会喜欢在使用资源的文件顶部添加导入android.R语句,尤其是当您要求eclipse对排序或以其他方式管理导入时。这会导致你的品牌破产。注意这些错误的import语句并删除它们。

http://source.android.com/source/using-eclipse.html

尝试使用

android.R.layout.simple_list_item_1

代替。