0
데이터베이스가 백엔드리스에 설치되어 있고 Android Studio 응용 프로그램에서 액세스하고 있습니다. 연결이 성공하고 항목 이름이 로그별로 성공적으로 검색되지만 목록보기에 표시되지 않습니다. 항목 "test"를 로컬에 추가했는데이 정보가 표시됩니다. 도울 수 있니? 따라서 당신이 표시되지 않습니다 - 당신은 비동기 적으로 데이터를로드하는 때문에ListView에 백엔드가없는 안드로이드 스튜디오 데이터 검색이 나타나지 않습니다.
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