Реализован ListView и загружен первый набор данных Listview, основанный на seekBar onProgressChanged Следующие значения должны быть обновлены. Пробовал с notifyDataSetChanged () и все решения в стеке, но не работает. Или как я могу сделать так, чтобы Listview обновлялся после загрузки данных второго набора вместо любого решения, кроме notifyDataSetChange, потому что нужно просто изменить только некоторую часть значений.
Код SeekBar
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
String number = jsonDates.get(progress);
System.out.println("number:"+number);
// Date dateObj = dateFormat.parse(number);
if(oldIndex != progress){
transFunction();
```customAdapter.notifyDataSetChanged();```
oldIndex = progress;
}
// selectedTxtFld.setText(String.valueOf(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//Toast.makeText(getApplicationContext(),"seekbar touch started!", Toast.LENGTH_SHORT).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// Toast.makeText(getApplicationContext(),"seekbar touch stopped!", Toast.LENGTH_SHORT).show();
}
});
Функция (фрагмент вызова API)
public Void transFunction(){
RequestQueue reqQueue = Volley.newRequestQueue(this);
reqQueue.add(new StringRequest(Request.Method.POST, url, new Response.Listener<String>(){
@Override
public void onResponse(String response) {
// spinner.setVisibility(View.VISIBLE);
Log.d(TAG, response);
if (response != null){
try {
System.out.println("We are in JsonObject");
JSONObject jsonObject = new JSONObject(response);
System.out.println("Got Json Object"+jsonObject);
// Arrays.fill(nameString, null);
absValuesArray.clear();
diffValuesArray.clear();
currValArray.clear();
prevValArray.clear();
jsonDates.clear();
indData.clear();
ListView listView = (ListView) findViewById(R.id.mobile_list);
listView.setAdapter(customAdapter);
}
Пользовательский адаптер
class CustomAdapter extends BaseAdapter {
@Override
public int getCount() {
return nameString.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.custom_layout,null);
// ImageView
if (i % 2 == 1) {
view.setBackgroundColor(Color.parseColor("#E1E1E1F0"));
} else {
view.setBackgroundColor(Color.parseColor("#ffffff"));
}
System.out.println("nameString_lenth"+nameString.length);
System.out.println("currArrayObject"+currArrayObject.length);
System.out.println("diffArrayObject"+diffArrayObject.length);
TextView textView_name = (TextView)view.findViewById(R.id.textview);
TextView textView_current = (TextView)view.findViewById(R.id.textview2);
TextView textView_difference = (TextView)view.findViewById(R.id.textview3);
ImageView transImageView = (ImageView)view.findViewById(R.id.transimage);
textView_name.setText(nameString[i]);
textView_current.setText(currArrayObject[i]);
textView_difference.setText(diffArrayObject[i]);
//transImageView.setImage =
return view;
}
}