小编Xar*_*iss的帖子

如何在Realm中设置唯一的主键?

如何在Android的Realm中设置唯一主键?Realm文档说我不能使用String或int / long以外的任何东西,所以UUID类型也是不可能的吗?如果我有同名物品怎么办?

例如

public class GroceryItem extends RealmObject {
    @PrimaryKey
    private long        id;    <--- how can I make this unique without UUID?
    private String      name;

public long getId() {
    return id;
}
public void setId(long id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
} }
Run Code Online (Sandbox Code Playgroud)

android realm

3
推荐指数
1
解决办法
2802
查看次数

在 RecyclerView.Adapter 中绑定视图时出现 NullPointerException

为什么NullPointerExceptionViewHolderbindItems()方法中会出现 a ?

我已经突出显示了我获得NullPointerException. 该blogpost_authorID存在,因为你可以在XML中看到的,所以这里有什么问题吗?findViewById<TextView>(R.id.blogpost_author)返回空值如何?

AdapterViewHolder代码:

class BlogPostAdapter(val blogList: ArrayList<BlogPost>) : RecyclerView.Adapter<BlogPostAdapter.ViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) : BlogPostAdapter.ViewHolder {
        val v = LayoutInflater.from(parent.context).inflate(R.layout.blog_post_list, parent, false)
        return ViewHolder(v)
    }

    override fun getItemCount(): Int {
        return blogList.size
    }

    override fun onBindViewHolder(holder: BlogPostAdapter.ViewHolder, position: Int) {
        holder.bindItems(blogList[position])
    }

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bindItems(blogPost: BlogPost) {
            val blogPostAuthor = itemView.findViewById<TextView>(R.id.blogpost_author) // THIS LINE …
Run Code Online (Sandbox Code Playgroud)

android findviewbyid kotlin android-recyclerview

3
推荐指数
1
解决办法
3478
查看次数

无法从 ViewHolder (RecyclerView) 调用适配器中的方法

当用户单击它时,我试图从我的 RecyclerView 中删除它。但是,即使适配器中的删除方法是公共的,当我尝试从 MyViewHolder 中的 onClick 调用“删除”方法时,我也会收到错误“无法解析方法删除(int)”。

是什么赋予了?它是公开的,为什么我不能调用它?

杂货适配器

public class GroceryItemAdapter extends RecyclerView.Adapter<MyViewHolder> {
    private LayoutInflater inflater;
    private Context context;

    List<MetaData> data = Collections.emptyList();

    public GroceryItemAdapter(Context context, List<MetaData> data) {
        this.context = context;
        inflater = LayoutInflater.from(context);
        this.data = data;
    }

    public void delete(int position) {
        data.remove(position);
        notifyItemRemoved(position);
    }


    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = inflater.inflate(R.layout.grocery_item_row, parent, false);
        MyViewHolder holder = new MyViewHolder(view);
        Log.i("GroceryHero", "onCreateViewHolder called");

        return holder;
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int …
Run Code Online (Sandbox Code Playgroud)

java android

1
推荐指数
1
解决办法
3616
查看次数