我正在尝试使用Architecture Components,我想为RecyclerView的每个项目构建一个ViewModel.我不确定这是否正式正确或我应该坚持"旧方式".
我有这个适配器:
public class PostAdapter extends RecyclerView.Adapter<PostAdapter.PostViewHolder> {
private List<Post> list;
public static class PostViewHolder extends RecyclerView.ViewHolder{
final ItemPostBinding binding;
public PostViewHolder(ItemPostBinding binding){
super(binding.getRoot());
this.binding = binding;
}
}
@Override
public PostViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ItemPostBinding binding = DataBindingUtil
.inflate(LayoutInflater.from(parent.getContext()), R.layout.item_post,
parent, false);
return new PostViewHolder(binding, parent.getContext());
}
@Override
public void onBindViewHolder(PostViewHolder holder, int position) {
holder.binding.setPost(list.get(position));
holder.binding.executePendingBindings();
}
@Override
public int getItemCount() {
return list == null ? 0 : list.size();
}
public void setList(List<Post> list){ …Run Code Online (Sandbox Code Playgroud) android mvvm android-recyclerview android-architecture-components
现在使用此代码(以及此代码的许多变体),但滚动轨迹变为深灰色,类似#222222或附近.找到很多例子,但是所有例子都给出了相同的结果.Opera,Chrome和Firefox显示此错误.怎么修?
#style-3::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: transparent;
}
#style-3::-webkit-scrollbar {
width: 6px;
background-color: transparent;
}
#style-3::-webkit-scrollbar-thumb {
background-color: #000000;
}
Run Code Online (Sandbox Code Playgroud) 我不知道为什么,但它不再发生了,我忘记了我上次使用这台电脑时所做的更改,我记得在启动时禁用了 Google Drive,但不确定这就是原因,那一刻我会弄清楚我会在这里发布更新。
此外,由于我在 Internet 上没有发现其他人遇到此问题,我想发布解决方案是一个好主意,以防有人遇到此问题并为下一个将面临此问题的用户解决了此问题。
每当我进入打开文件或目录的对话框(如“文件>打开...”或“导入设置”)时,显示文件树大约需要 50 秒。除了“正在加载...”和“没有什么可显示”外,什么也没有显示。
此外,单击“X”按钮或“取消”按钮在完成显示文件树的过程之前不会响应。拖动文件/文件夹也是如此,它只是在完成缓慢的初始化之前不会响应。
对话窗口本身一直在响应,它没有被冻结。
似乎初始化需要很长时间,然后它就可以完美运行(直到我下次进入此对话框时)。
我有两个ImageView。我想将一个移到另一个之上。
当我尝试检索ImageViews 位置之一的值以将另一个移动到它时,我在 x 和 y 上都得到 0。
我曾尝试使用getLeft/ getTop、getX()/getY()和getPositionOnScreen(); 它们都返回 0。两个视图都在同一个约束布局内。
ImageView返回 0 的XML :
<ImageView
android:id="@+id/playerOneCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="64dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
app:srcCompat="@drawable/card" />
Run Code Online (Sandbox Code Playgroud)
返回位置的代码:
int x = playerOneCardMove.getLeft();
int y = playerOneCardMove.getTop();
Run Code Online (Sandbox Code Playgroud)
我还使用了以下内容:
int x = playerOneCardMove.getX();
int y = playerOneCardMove.getY();
Run Code Online (Sandbox Code Playgroud)
和:
int[] imageCoordinates = new int[2];
playerOneCard.getLocationOnScreen(imageCoordinates);
int x = imageCoordinates[0];
int y = imageCoordinates[1];
Run Code Online (Sandbox Code Playgroud)
执行onClick移动卡片的代码:
public …Run Code Online (Sandbox Code Playgroud) android ×3
android-architecture-components ×1
css ×1
html ×1
mvvm ×1
scrollbar ×1
system-tray ×1
windows ×1