Проблема заключается в том, что моё приложение не может обновить значения у ListView.
Проще будет показать это на скриншотах.
1) Менюша с ListView элментами
2) Попытка изменить значение "продуктов" с 0 на 100 (Причём Toast показывает то, что это сделать вроде как удалось, переменная поменяла значение с 0 на 100)
Вот не могу понять, что же мне делать с моим ListView, чтобы он показывал актуальную информацию.
Вот класс, где используется ListView (причём с собственное реализацией адаптера):
public final String[] settings = {
"Продукты", "Кварплата", "Жильё",
"Транспорт", "Одежда", "Развлечения"
};
private ListView listView;
private CashListAdapter cashListAdapter;
private List<Cash> cashList;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cash_settings);
listView = (ListView) findViewById(R.id.cashListView);
cashList = new ArrayList<>();
cashSettings = new FillingCashSettings();
// Закрепляем слушателя на listView
for (int i = 0; i < settings.length; i++) {
cashList.add(new Cash(0, 0, i, settings[i]));
}
cashListAdapter = new CashListAdapter(getApplicationContext(), cashList);
listView.setAdapter(cashListAdapter);
// Закрепление хэндлеров
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(
getApplicationContext(),
"clicked " + view.getTag(),
Toast.LENGTH_SHORT
).show();
FillingCashSettings.init(cashList.get(position));
intent = new Intent(getApplicationContext(), FillingCashSettings.class);
startActivity(intent); // переход на вторую активность (она на втором скрине)
}
});
}
Ну и класс, где происходит замена значений:
private static Cash cash;
private EditText editText;
private Button enterButton;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_filling_cash_settings);
//textView = (TextView) findViewById(R.id.editCashIncome);
editText = (EditText) findViewById(R.id.editCashIncome);
enterButton = (Button) findViewById(R.id.enter_cash_income_btn);
exit = (Button) findViewById(R.id.exit_btn);
enterButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String income = editText.getText().toString();
cash.setIncome(Integer.parseInt(income));
Toast.makeText(getApplicationContext(), cash.getName() + cash.getIncome(), Toast.LENGTH_LONG).show();
}
});
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), CashSettingsActivity.class);
startActivity(intent);
}
});
}