我有以下功能:
public static class ListFragment extends Fragment {
private ParseQueryAdapter<ParseObject> mainAdapter;
private ListView listView;
public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState )
{
View rootView = inflater.inflate(R.layout.fragment_list, container, false );
mainAdapter = new ParseQueryAdapter<ParseObject>( this, "Todo" );
mainAdapter.setTextKey("title");
mainAdapter.setImageKey("image");
// Initialize ListView and set initial view to mainAdapter
listView = (ListView) findViewById(R.id.list);
listView.setAdapter(mainAdapter);
mainAdapter.loadObjects();
return rootView;
}
}
返回的错误是:
构造函数ParseQueryAdapter(MainActivity.ListFragment,String)未定义MainActivity.java
无法从类型Activity MainActivity.java中对非静态方法findViewById(int)进行静态引用
我可以假设第一个是由于这个类型的对象的变化,但我希望在正确的修复上有更多经验丰富的输入。
第二个错误虽然彻底混淆,因为它似乎对我的眼睛有效。
感谢任何输入。
答案 0 :(得分:1)
1)更改ParseQueryAdapter
的实例化,如下所示。代码位于Fragment
,但ParseQueryAdapter
需要Context
个对象。
mainAdapter = new ParseQueryAdapter<ParseObject>( this.getActivity(), "Todo" );
2)从班级定义中删除static
修饰符。