Android应用程序:实际参数和正式参数列表的长度错误有所不同

时间:2018-08-31 16:37:13

标签: android

可能是一个简单的修复程序,但我找不到问题。我在启动我的android应用程序时收到以下错误:

error: constructor MenuList in class MenuList cannot be applied to given types;
required: String,String,String,String
found: String,String
reason: actual and formal argument lists differ in length

我不明白为什么为什么只查找两个字符串参数,但是当我传递4时,这是我的代码:

MenuList类:

public class MenuList {
    String ID, Name, AvailableFrom, AvailableTo;

    public MenuList(String ID, String name, String availableFrom, String availableTo) {
        this.ID = ID;
        Name = name;
        AvailableFrom = availableFrom;
        AvailableTo = availableTo;
    }

    public String getID() {
        return ID;
    }

    public String getName() {
        return Name;
    }

    public String getAvailableFrom() {
        return AvailableFrom;
    }

    public String getAvailableTo() {
        return AvailableTo;
    }
}

然后是Menu类本身:

public class Menus extends AppCompatActivity {

    ListView listView;
    List<MenuList> listMenus;

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

        listView = findViewById(R.id.list_menu);
        listMenus = new ArrayList<>();
        showList();
}
private void showList(){
        String url = "hidden";
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    JSONObject obj = new JSONObject(response);
                    JSONArray array = obj.getJSONArray("menus");
                    for (int i = 0; i < array.length(); i++) {
                        final JSONObject menuObj = array.getJSONObject(i);
                        MenuList m = new MenuList(menuObj.getString("menu_id"), menuObj.getString("menu_name"), menuObj.getString("available_from"), menuObj.getString("available_to"));
                        listMenus.add(m);

                }MenuAdapter adapter = new MenuAdapter(listMenus, getApplicationContext());
                    listView.setAdapter(adapter);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        }){

        };
        MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest);

    }

php文件内没有错误,它按预期工作。该错误导致我尝试将菜单列表扩展为四个参数(以前是两个,并且工作正常),但是我无法弄清楚为什么在扩展菜单后它不起作用

1 个答案:

答案 0 :(得分:0)

糟糕!

发现MenuList实际上也正在另一个活动上使用,这就是错误的出处!