In meiner Haupttätigkeit habe ich zwei Fragmente. Einer ist Song-Liste und der zweite ist Favorit. Dieses Fragment enthält ListView und benutzerdefinierten Adapter. Es gibt ein unteres Blatt, das einen Knopf enthält. Wenn dieser Button angeklickt wird, wird der Song zum Favoriten hinzugefügt (zweites Fragment). Ich kann das Lied in den Fragmentfavoriten einfügen, aber es wird nicht zu einem Zeitpunkt angezeigt, wenn wir es hinzufügen. Wir müssen die Anwendung neu starten, um sie in den Favoriten zu bekommen. Die Taste zum Hinzufügen eines Favoriten wird von der Hauptaktivität aus bedient. Gibt es eine Möglichkeit, dass ich meinem Adapter mitteilen kann, dass der Status geändert wurde. (Songs hinzugefügt zu Lieblings-Datenbank verwenden)Wie wird der Adapter benachrichtigt, wenn sich der Status ändert?
Gibt es eine Möglichkeit, ich kann Fragment aktualisieren, wenn es geöffnet ist ???
Dies ist der Code der Hauptaktivität, in dem der Favorit der Schaltfläche ist, der den Namen der Musik in der Datenbank hinzufügt, wenn darauf geklickt wird.
favourite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(x==0) {
favourite.setImageResource(R.drawable.ic_favorite);x=1;
boolean isinserted =
mydb.insertdata(collections.get(a).getsong().toString());
if (isinserted == true) {
Toast.makeText(MainActivity.this, "Added as favorite", Toast.LENGTH_LONG).show();
x=1;
}
else
{
Toast.makeText(MainActivity.this, "data not inserted", Toast.LENGTH_LONG).show();
}
}
else{favourite.setImageResource(R.drawable.ic_favorite_border);
int deletedrow = mydb.deleteData(collections.get(a).getsong());
if(deletedrow>0){Toast.makeText(MainActivity.this, "removed from favorite", Toast.LENGTH_LONG).show();
finish();
startActivity(getIntent());
x=0;
}
else {Toast.makeText(MainActivity.this, " not removed from favorite", Toast.LENGTH_LONG).show();
}
}
}
});
Rufen Sie 'notifyDataSetChanged' für den zugrunde liegenden Adapter der Liste in diesem Favoritenfragment auf? –
ja aber nichts passiert. weil die Schaltfläche in der Hauptaktivität ist –
Sie sollten eine mcve, http://stackoverflow.com/help/mcve –