私の主な活動には2つの断片があります。 1つは曲リストで、2番目はお気に入りです。この両方のフラグメントには、ListViewとカスタムアダプターが含まれています。ボトムシートにはボタンがあります。そのボタンがクリックされると、その曲がお気に入りに追加されます(2番目の断片)。私はその曲を好きな断片に追加することができますが、追加するときは一度に表示されません。アプリケーションを再起動してお気に入りに追加する必要があります。お気に入りを追加するボタンはメインアクティビティから操作されます。私のアダプタに状態が変更されたことを通知できる方法はありますか?(好きな使用データベースに追加された曲)状態が変わったときにアダプターを通知する方法は?
開封時にフラグメントをリフレッシュする方法はありますか?
お気に入りは、クリックするとデータベースに曲名が追加されるボタンです。
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();
}
}
}
});
好きなフラグメントのリストの基になるアダプタに対して 'notifyDataSetChanged'を呼びますか? –
はい、何も起こりません。ボタンがメインアクティビティにあるため –
mcveを提供する必要があります。 –