我尝试按照此处的示例进行操作:
https://developer.android.com/training/material/lists-cards.html#RecyclerView
有一部分我不太清楚。
@Override
public BlogPostAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_text_view, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
在这一部分中,他们使用“my_text_view”来扩展布局。 我在重新创建此布局时遇到问题。 如果我创建一个仅包含 TextView 的 xml 文件“my_text_view.xml”,它将无法编译。如果我用“LinearLayout”包围我的 TextView,我将无法将其转换为 TextView 以使示例正常工作。 仅创建一个带有 ID 的 TextView 并尝试对其进行扩充将会失败,因为该方法将 Layout 作为参数而不是 View 。
如何使此示例的 my_text_view 布局正常工作?
最佳答案
它应该仅使用布局文件中的 TextView 进行编译。 只需确保添加 xmlns:
<?xml version="1.0" encoding="utf-8"?>
<Textview xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
如果您想将其包装在父布局中,则在设置 viewHolder 时,您需要从您 inflate 的 View 中获取您感兴趣的 textview。您可以通过调用电话获取
view.findViewById(R.id.text_view);
关于java - Android RecyclerView示例误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256572/