0
私はデータベースをバックエンドレスに設定しており、Androidスタジオアプリケーションからアクセスしています。接続は成功し、アイテムの名前は(ログごとに)正常に取得されますが、リストビューには表示されません。エントリ "test"をローカルに追加しました。これが表示されています。手伝ってくれますか?したがって、あなたがそこに表示されません - あなたが非同期的にデータをロードしているのでリストビューにバックスタンドレスのAndroidスタジオデータ検索が表示されない
public class ListItems extends Activity {
ListView foodListView;
ArrayList<String> myFood;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set up listView
setContentView(R.layout.list_items);
foodListView = (ListView)findViewById(R.id.foodListView);
myFood = new ArrayList();
myFood.add("test");
//connect to database
Backendless.setUrl(Defaults.SERVER_URL);
Backendless.initApp(getApplicationContext(),
Defaults.APPLICATION_ID,
Defaults.API_KEY);
final IDataStore<Map> tableQuery = Backendless.Data.of("FoodList");
final DataQueryBuilder queryBuilder = DataQueryBuilder.create();
queryBuilder.setWhereClause("Section = 'Dairy'");
queryBuilder.setSortBy("name");
Backendless.Data.of("FoodList").find(queryBuilder,
new AsyncCallback<List<Map>>()
{
@Override
public void handleResponse(List<Map>response){
Iterator<Map> itr = response.iterator();
while(itr.hasNext()) {
Map<String, Object> contact = (Map<String, Object>) itr.next();
String name = (String) contact.get("Name");
myFood.add(name);
}
//test to show items retrived
for(String aa:myFood){
System.out.println("MYAPP " +aa);
}
}
@Override
public void handleFault(BackendlessFault fault)
{
Log.e("MYAPP", "Server reported an error - " + fault.getMessage());
}
});
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myFood);
foodListView.setAdapter(arrayAdapter);
}
}
https://stackoverflow.com/a/19043140/1813669 – Scadge
私はarrayAdapter.notifyDataSetChangedを(試してみました)しかし、それは動作しません私はまだのみ:
は、だからあなたのコードは、次のようになります。 "テスト"を示すリストを得る。私の見解を設定するまでに、データが完全ではないことを取り出すことと関係があるでしょうか? – Newbie123
これは間違いありません。あなたは '.notifyDataSetChanged()'をどこで呼びますか? – Scadge