我正在制作一个简单的音乐播放器,我制作了一个带有3个textvies和图像按钮的自定义列表适配器。
我在按钮中放置了一个单击侦听器以显示对话框。在对话框中有一个选项队列。此选项将用于排列音乐服务中的歌曲。我想知道 如何将我的服务与列表连接? 如果无法连接,我如何将此队列按钮的操作发送到MainActivity ??
以下是我的适配器代码
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.songs_list, parent, false);
final Song song = getItem(position);
final ImageButton optionsImgBtn = convertView.findViewById(R.id.options_imgbbtn);
optionsImgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu optionnMenu = new PopupMenu(getContext(), view);
optionnMenu.getMenuInflater().inflate(R.menu.list_option, optionnMenu.getMenu());
optionnMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
if(menuItem.getItemId()==R.id.vd){
}else if(menuItem.getItemId()==R.id.vdi){
}
return true;
}
});
optionnMenu.show();
}
});
TextView txtvDname = convertView.findViewById(R.id.dname_txtv);
TextView txtvArtist = convertView.findViewById(R.id.artist_txtv);
TextView txtvDuration = convertView.findViewById(R.id.duration_txtv);
txtvDname.setText(song.name);
txtvArtist.setText(song.artist);
txtvDuration.setText(getFormatedTime(Integer.parseInt(song.duration)));
return convertView;
}
BTW我正在使用绑定服务。
注意:我知道如何使用onItemLongClickListner,但我不想使用它我想使用我制作的按钮。
答案 0 :(得分:0)
我已经找到了我自己的解决方案,我认为这对你们所有的java新手都非常有帮助。
只需创建一个抽象类的适配器和一个抽象方法。比在初始化适配器的活动中实现方法。