在我的Android应用程序中,我想将此方法更改为静态方法,但是当我在方法签名中添加“静态”时,我的IDE告诉我,不能从静态上下文中引用非静态上下文(在[C0 ]。
findViewByID(R.id.listView)
如何使此方法静态化?
您应将此上下文和包含public void populateListView(ArrayList<Income> incomeArray) {
ArrayList<Income> array = incomeArray;
ArrayAdapter<Income> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, array);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adapter);
的视图传递到此方法。静态方法无法访问非静态类成员。
使它们成为全局变量,并从函数中初始化值或将它们作为参数传递,您正在使用的不是静态函数public static void populateListView(ArrayList<Income> incomeArray, Context context, View root){
ArrayList<Income> array = incomeArray;
ArrayAdapter<Income> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, array);
ListView listView = (ListView) root.findViewById(R.id.listView);
listView.setAdapter(adapter);
。