我试图找出如何找到一个自定义的位置ParseObject
的ParseQueryAdapter<>
,这样我可以设置Spinner的位置,或者您在我的Android项目检查表行。
我目前正在使用一个自定义适配器,将ParseQueryAdapter<Vendor>
其Vendor
扩展到extends ParseObject
。我也有一个与关联的Item
扩展。在此特定示例中,如果要编辑,则希望先前选择的内容显示在微调器中。我想设置由我的自定义支持的微调器的选择。在集成Parse之前,我使用的是可以做到的:ParseObject
Vendor
Item
Vendor
ParseQueryAdapter<Vendor>
ArrayAdapter<CharSequence>
String vendorName = Vendor.getName();
int position = adapter.getPosition(vendorName);
spinner.setSelection(position);
我以为可以Vendor
像String
在数组中使用名称一样获得对象的位置,但是ParseQueryAdapter
没有getPosition
方法。我本来想做一个自定义方法来这样做,但是却迷失了如何找到的位置Vendor
。我还认为我可能需要.isEqualTo(Vendor vendor)
在Vendor
课堂上使用方法。
您需要使用ParseQuery Adapter进行外观设置,如下所示:
public class CustomListAdapter extends BaseAdapter {
private final YourParseAdapter adapter;
public CustomListAdapter(final Context context) {
this.adapter = new YourParseAdapter(context);
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
super.onChanged();
notifyDataSetChanged();
}
});
}
public void reloadObjects() {
adapter.loadObjects();
}
// Customize the layout by overriding getItemView
@Override
public View getView(int i, View v, ViewGroup viewGroup) {
View result = adapter.getView(i, v, viewGroup);
// HERE YOU HAVE THE VIEW GENERATED BY PARSE AND THE ITEM POSITION
return result;
}
@Override
public int getCount() {
return adapter.getCount();
}
@Override
public Object getItem(int i) {
return adapter.getItem(i);
}
@Override
public long getItemId(int i) {
return adapter.getItemId(i);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句