我正在使用RecyclerView.Adapter,但我对它的方法的工作感到困惑onCreateViewHolder.
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
if(viewType==TYPE_ITEM) {
View mView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.inflate_common_item, viewGroup, false);
ViewHolder vh = new ViewHolder(mView);
return vh;
} else {
View mView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.inflate_uncommon_item, viewGroup, false);
ViewHolderFooter vh = new ViewHolderFooter(mView);
return vh;
}
}
Run Code Online (Sandbox Code Playgroud)
因此,我的列表中有10个项目,因此对于每个项目,此方法将被调用,每次ViewHolder创建新项目时,每个视图都会有一次,但现在我的问题是我们何时使用ListView并BaseAdapter与它们一起存储ViewHolder在标签中使用它.我们不ViewHolder为每个项目创建.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyViewHolder mViewHolder;
if(convertView == null) {
convertView = inflater.inflate(R.layout.layout_list_item, null);
mViewHolder = new MyViewHolder();
convertView.setTag(mViewHolder); …Run Code Online (Sandbox Code Playgroud) 我正在处理一个项目,但在通知中遇到了一个奇怪的问题。基本上我想在通知中播放警报,为此我在通知生成器中添加声音 ieuri。这是我的代码:
builder.setSmallIcon(R.mipmap.app_icon).setContentTitle(title)
.setContentText(msg)
.setColor(getResources().getColor(R.color.white))
.addAction(R.drawable.alarm_off, getString(R.string.dismiss), pendingIntent)
.setOngoing(true)
.setSound(Uri.parse(path));
Notification notification = builder.build();
notification.flags |= Notification.FLAG_INSISTENT;
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(WAKE_UP_ALARM_ID, notification);
Run Code Online (Sandbox Code Playgroud)
通知出现在面板中,但是当我触摸通知面板向下滚动时,音乐会自动停止。我无法理解场景。
请帮我解决问题。
谢谢