Ich verwende Textview Text aus einer SQLite-Datenbank in Fragment. Jetzt möchte ich Textview aktualisieren, wenn SQLite-Datenbank aktualisiert wird. Ich verwende einen Alertdialog zum Aktualisieren der SQLite-Datenbank. Wenn ich auf die Schaltfläche zum Speichern klicke, wird die Datenbank aktualisiert, aber textview wird nicht aktualisiert, bis das Fragment erneut geladen wird.Update-Fragment von Dialogfragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db = new DatabaseHandler(getActivity());
user = db.getUserDetails();
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflating view layout
View v = inflater.inflate(R.layout.fragment_profile, container, false);
proName = (TextView)v.findViewById(R.id.proName);
proChangePassword = (Button)v.findViewById(R.id.proChangePassword);
proName.setText(user.get("fname") + " " + user.get("lname"));
return v;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.profile_edit:
profileEdit();
return false;
default:
break;
}
return false;
}
private void profileEdit() {
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.profile_edit, null);
dialogBuilder.setView(dialogView);
eFirstName = (TextInputLayout) dialogView.findViewById(R.id.pEditFirst);
eLastName = (TextInputLayout) dialogView.findViewById(R.id.pEditLast);
final Button pEditSave = (Button) dialogView.findViewById(R.id.pEditSave);
eFirstName.getEditText().setText(user.get("fname"));
eLastName.getEditText().setText(user.get("lname"));
dialogBuilder.setTitle("Profile Edit");
final AlertDialog dialog = dialogBuilder.create();
pEditSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String fname = eFirstName.getEditText().getText().toString();
String lname = eLastName.getEditText().getText().toString();
db.updateProfile(fname,lname);
Toast.makeText(getActivity(), "Your Profile is successfully updated.", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
dialog.show();
}
Wie wird das Fragment automatisch aktualisiert, wenn die Schaltfläche zum Speichern des Dialogs geklickt wird?
na..abhi zu nhi –