I have a fragment that gets data from a DialogFragment via intent with onActivityResult(...);
I am trying to update the fragment's UI but runOnUiThread does not work.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ArrayList<Farm> farms = data.getParcelableArrayListExtra("farms_list");
float totalArea = 0;
for(Farm farm : farms) {
if (farm.isSelected()) {
Log.d("farm", farm.getName());
totalArea += farm.getArea();
}
}
final float finalTotalArea = totalArea;
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
area.setText(String.valueOf(finalTotalArea));
}
});
}
The area TextView does not update.
I get the reference to the activity with onAttach() method.
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (!(context instanceof PageFragmentCallbacks)) {
throw new ClassCastException(
"Activity must implement PageFragmentCallbacks");
}
mCallbacks = (PageFragmentCallbacks) context;
this.activity = (Activity) context;
}