Мой android проект имеет 3 класса MainActivity. java, itemlist. java и Bill. java
Я создал объект класса Bill из itemlist. java class и передал контекст оттуда. Поэтому, когда я пытаюсь обновить текстовое представление из класса Билла. java, оно просто не обновляется, но когда я делаю то же самое из MainActivity, оно работает
Так что мой вопрос, как заставить это обновление TextView работать?
package com.example.smit.databasedemo.Functions;
import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.example.smit.databasedemo.MainActivity;
import com.example.smit.databasedemo.R;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by Smit on 18-02-2020.
*/
public class Bill extends AppCompatActivity{
private LayoutInflater inflater;
private final View view;
public Bill(Context context){
inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.activity_main,null);
}
Здесь контекст передается с помощью getApplicationContext (), переданного из MainActivity
public void calculate(String bill){
final TextView billText = (TextView) view.findViewById(R.id.useless);
String text = (billText.getText().toString())+bill;
//Here the text is fetched from same textbox but fail's to update
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(text);
String[] amount= new String[2];
int i=0;
while(m.find()){
amount[i] = m.group();
i++;
}
int amount_prev = Integer.valueOf(amount[0]);
final int total = (amount_prev)+(Integer.valueOf(amount[1]));
billText.setText("Total Bill:"+total+"Rs");
//Cannot update this textbox
}
}
final Bill bill = new Bill(context);
//this is how its called
public void onClick(View v) {
counter++;
price= (finalViewHolder.price.getText().toString());
finalViewHolder.item.setText(String.valueOf(counter));
bill.calculate(price);
}
ps при попытке выполнить на uiThread () не работает