And*_*der 1 android android-listview parse-platform
我的活动查询我的解析数据库,然后根据查询重新设置数据.数据以列表视图中的名称存储.但我无法弄清楚如何检查列表视图是否为空.我希望它发布一个警告,说明列表视图在事件发生时是空的.这是我的活动
public class OfferPage extends Activity {
String obj;
ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offer_page);
Intent i = getIntent();
obj = i.getStringExtra("RestName");
populateList(obj, "Restraunt");
}
private void populateList(final String Value, final String Key) {
ParseQueryAdapter.QueryFactory<ParseObject> factory = new ParseQueryAdapter.QueryFactory<ParseObject>() {
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public ParseQuery create() {
ParseQuery query = new ParseQuery("Offers");
query.whereEqualTo(Key, Value);
return query;
}
};
ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(
this, factory);
adapter.setTextKey("Offer");
adapter.addOnQueryLoadListener(new OnQueryLoadListener<ParseObject>() {
@Override
public void onLoading() {
mProgressDialog = new ProgressDialog(OfferPage.this);
mProgressDialog.setTitle("Searching for Offers");
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
public void onLoaded(List<ParseObject> objects, Exception e) {
mProgressDialog.dismiss();
}
});
final ListView listView = (ListView) findViewById(R.id.offerList);
listView.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
我的主要问题似乎无法确定如果列表为空,检查的位置.有什么建议?
小智 6
您必须控制适配器是否为空,而不是列表视图,因为适配器保存值.
if (adapter== null) {
adapter= new ParseQueryAdapter(this,getElements());
eList.setAdapter(adapter);
} else {
adapter.addAll(getElements());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13428 次 |
| 最近记录: |