簡體   English   中英

嘗試在自定義ListView適配器中啟動活動時出現AndroidRuntimeException

[英]AndroidRuntimeException while trying to start activity in custom ListView Adapter

我使用此自定義ListView適配器單擊menuButton時遇到AndroidRuntimeException異常:

public class MenuAdapter extends ArrayAdapter<Menu>{

    private List<Menu> menus;

    public MenuAdapter(Context context, int textViewResourceId, List<Menu> menus){
        super(context, textViewResourceId, menus);
        this.menus = menus;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View menuView = convertView;
        if (menuView == null){
            LayoutInflater menuViewInflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            menuView = menuViewInflater.inflate(R.layout.menu_row, null);
        }

        Menu menu = menus.get(position);
        if (menu != null) {
            Button menuButton = (Button)menuView.findViewById(R.id.menu_name);
            menuButton.setText(menu.name);
            menuButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Intent menuIntent = new Intent(v.getContext(), MenuActivity.class);
                    v.getContext().startActivity(menuIntent);
                }
            });
        }
        return menuView;
    }
}

有什么想法我做錯了嗎?

不知道您嘗試使用v.getContext()做些什么。 試試下面的東西

    final Intent intent = new Intent(this, MenuActivity.class);
    startActivityForResult(intent);

要么

startActivity(new Intent("Your.Package.name.classnameinManifest"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM