Android 按菜单按钮开始活动

Android 按菜单按钮开始活动,android,menu,Android,Menu,按下按钮时,如何使菜单启动活动?我的方法行不通。。怎么了?我找到了创建菜单的方法。也许还有其他更好的方法 public class MenuActivity extends Activity { private ListView MenuList; String classes[] = {"NewReviewActivity" }; public void onCreate(Bundle menuinstance){ super.onCreate(m

按下按钮时,如何使菜单启动活动?我的方法行不通。。怎么了?我找到了创建菜单的方法。也许还有其他更好的方法

public class MenuActivity extends Activity {


    private ListView MenuList;

    String classes[] = {"NewReviewActivity" };
    public void onCreate(Bundle menuinstance){
        super.onCreate(menuinstance);
        setContentView(R.layout.menu);

        //getActionBar().setDisplayHomeAsUpEnabled(true);

        MenuHelper menu_data[] = new MenuHelper[] {
                new MenuHelper(R.drawable.ic_menu_1, this.getString(R.string.menuItemTitle_1)),
                new MenuHelper(R.drawable.ic_menu_2, this.getString(R.string.menuItemTitle_2)),
                new MenuHelper(R.drawable.ic_menu_3, this.getString(R.string.menuItemTitle_3)),
                new MenuHelper(R.drawable.ic_menu_4, this.getString(R.string.menuItemTitle_4)),
                new MenuHelper(R.drawable.ic_menu_5, this.getString(R.string.menuItemTitle_5)),
                new MenuHelper(R.drawable.ic_menu_6, this.getString(R.string.menuItemTitle_6))
        };

        final MenuAdapter menuAdapter = new MenuAdapter(this, R.layout.menu_row, menu_data);


        MenuList = (ListView) findViewById(R.id.menuListView);
        MenuList.setAdapter(menuAdapter);
        MenuList.setOnItemSelectedListener(new  OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,int position, long id) {

                String classchosen = classes[position];
                Class ourClass;
                try {
                    ourClass = Class.forName("com.project.simplify." + classchosen);
                    Intent ourIntent = new Intent(MenuActivity.this, ourClass);
                      startActivity(ourIntent);
                } catch (ClassNotFoundException e) {
                    System.out.print("Class not found");
                    e.printStackTrace();
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO Auto-generated method stub

            }

        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.action_bar, menu);
        inflater.inflate(R.menu.main, menu);

        return super.onCreateOptionsMenu(menu);
    }
菜单适配器类:

public class MenuAdapter extends ArrayAdapter<MenuHelper>{

    Context context; 
    int layoutResourceId;    
    MenuHelper data[] = null;

    public MenuAdapter(Context context, int layoutResourceId, MenuHelper[] data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        MenuHolder holder = null;

        if(row == null)
        {
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);

            holder = new MenuHolder();
            holder.imgIcon = (ImageView)row.findViewById(R.id.menuItemIcon);
            holder.txtTitle = (TextView)row.findViewById(R.id.menuItemTitle);

            row.setTag(holder);
        }
        else
        {
            holder = (MenuHolder)row.getTag();
        }

        MenuHelper menu = data[position];
        holder.txtTitle.setText(menu.title);
        holder.imgIcon.setImageResource(menu.icon);

        return row;
    }

    static class MenuHolder
    {
        ImageView imgIcon;
        TextView txtTitle;
    }
}
public类MenuAdapter扩展了ArrayAdapter{
语境;
国际布局资源;
MenuHelper数据[]=null;
公共菜单适配器(上下文、内部布局资源ID、菜单帮助[]数据){
超级(上下文、布局资源ID、数据);
this.layoutResourceId=layoutResourceId;
this.context=上下文;
这个数据=数据;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
MenuHolder holder=null;
if(行==null)
{
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
行=充气机。充气(layoutResourceId,父级,false);
holder=新菜单holder();
holder.imgIcon=(ImageView)row.findViewById(R.id.menuItemIcon);
holder.txtTitle=(TextView)row.findViewById(R.id.menuItemTitle);
row.setTag(支架);
}
其他的
{
holder=(MenuHolder)row.getTag();
}
菜单帮助菜单=数据[位置];
holder.txtTitle.setText(menu.title);
holder.imgIcon.setImageResource(菜单图标);
返回行;
}
静态类MenuHolder
{
ImageView imgIcon;
TextView-txtTitle;
}
}

您是否从IDE/工作站复制粘贴了代码,或者语法问题是偶然的?IDE/工作站?如何编译代码,如何使其运行?我通过从其他活动登录进入此活动
public class MenuAdapter extends ArrayAdapter<MenuHelper>{

    Context context; 
    int layoutResourceId;    
    MenuHelper data[] = null;

    public MenuAdapter(Context context, int layoutResourceId, MenuHelper[] data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        MenuHolder holder = null;

        if(row == null)
        {
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);

            holder = new MenuHolder();
            holder.imgIcon = (ImageView)row.findViewById(R.id.menuItemIcon);
            holder.txtTitle = (TextView)row.findViewById(R.id.menuItemTitle);

            row.setTag(holder);
        }
        else
        {
            holder = (MenuHolder)row.getTag();
        }

        MenuHelper menu = data[position];
        holder.txtTitle.setText(menu.title);
        holder.imgIcon.setImageResource(menu.icon);

        return row;
    }

    static class MenuHolder
    {
        ImageView imgIcon;
        TextView txtTitle;
    }
}