Witam,
ListView jednorazowo pokazuje liste rzeczy jakich pobiera z bazy danych, a przy następnych próbach wyświetla jedynie pustą stronę. Przy korzystaniu z API21 działa poprawnie przy API17 występuje w/w błąd. Nie wiem co jest tego powodem, ma ktoś jakiś pomysł?
package com.example.trzewa.bandrider;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.parse.FindCallback;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseUser;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class EditionActivity extends ListActivity {
private AlertDialog alertDialog;
// private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Context context = getApplicationContext();
// mContext = this;
final ArrayList<HashMap<String, String>> instrumentItems = new ArrayList<>();
//final ArrayList<HashMap<String, String>> stuffItems = new ArrayList<>();
//Intent intent = getIntent();
//int selected = intent.getIntExtra(Constans.CATEGORY_SELECTED, 0);
boolean networkstate = Utilities.getConnectivityStatus(context);
ParseUser currentUser = ParseUser.getCurrentUser();
String user_name = currentUser.getUsername();
if (networkstate) {
Toast.makeText(getApplicationContext(), "nawiazano połączenie", Toast.LENGTH_LONG).show();
Toast.makeText( getApplicationContext(),"Select ",Toast.LENGTH_SHORT).show();
ParseQuery<ParseObject> queryInstruments = ParseQuery.getQuery("Instrument");
queryInstruments.whereEqualTo("owner", user_name);
queryInstruments.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> instrumentList, com.parse.ParseException e) {
if (e == null) {
Log.d("score", "Retrieved " + instrumentList.size() + "instrumentów");
if (instrumentList.size() > 0) {
for (int i = 0; i < instrumentList.size(); i++) {
HashMap<String, String> map = new HashMap<>();
ParseObject ob = instrumentList.get(i);
map.put("nazwa_inst", ob.getString("name"));
map.put("kategoria_inst", ob.getString("category"));
map.put("wlasciciel_inst", ob.getString("owner"));
map.put("status_inst", ob.getString("Switchstatus"));
map.put("objectId",ob.getObjectId());
instrumentItems.add(map);
}
Toast.makeText(getApplicationContext(), "Liczba" + instrumentItems.size(), Toast.LENGTH_SHORT).show();
}
} else {
Log.d("score", "Error: " + e.getMessage());
}
}
});
ListAdapter adapter = new SimpleAdapter(getApplicationContext(), instrumentItems,
R.layout.activity_edit_item,
new String[]{"nazwa_inst", "wlasciciel_inst","objectId"}, new int[]{
R.id.nazwaEditItem, R.id.wlascicielEditItem,R.id.objectID});
setListAdapter(adapter);
ListView w = getListView();
w.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CharSequence colors[] = new CharSequence[]{"Usuń", "Edytuj"};
AlertDialog.Builder builder = new AlertDialog.Builder(EditionActivity.this);
builder.setTitle("Co chcesz zrobić?");
builder.setItems(colors, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// obsługa kliknięcia
switch (which)
{
case 0:
Toast.makeText(getApplicationContext(), "PPP", Toast.LENGTH_SHORT).show();
break;
}
}
});
builder.show();
}
});
} else {
alertDialog = new AlertDialog.Builder(EditionActivity.this)
.setTitle("Brak Internetu")
.setMessage("brak połączenia z siecią Internet")
.setNegativeButton("Ok", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialog.cancel();
finish();
}
})
.create();
alertDialog.show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_plan_rider, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}