对于我的Android应用中的特定片段,我的onClick如下:
btn_fav = (Button) view.findViewById(R.id.btn_fav);
this.setFavText(btn_fav.getText().toString());
btn_fav.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onClick1();
}});
在onCreateView方法中。
onclick1方法定义如下
public void onClick1() {
Button favButton = (Button) (getView().findViewById(R.id.btn_fav));
String buttonText = favButton.getText().toString();
FavoriteDB.setContext(this.getActivity());
if(buttonText == FAV)
{
FavoriteDB.addSong(this.getSongName());
favButton.setText(UNFAV);
}
else
{
FavoriteDB.removeSong(this.getSongName());
favButton.setText(FAV);
}
}
我观察到,第一次创建片段时,默认情况下按钮文本为“收藏夹”。当我点击收藏夹时,我想将文本设置为Unfavorite并希望将歌曲添加到收藏列表中。但是,第一次点击时不会发生这种情况。当我再次点击时,文本变为Unfavorite,并且DB将歌曲添加为收藏。当我再次点击Unfavorite时,文本将更改为收藏夹,并且歌曲将从DB中删除,这是预期的行为。我不明白的是,为什么第一次不起作用?