我试图效仿这里的例子:
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"来扩充布局。 我在重新创建此布局时遇到了麻烦。 如果我创建一个单独的xml文件" my_text_view.xml"只有一个TextView,它不会编译。如果我用" LinearLayout"环绕我的TextView我将无法将其转换为TextView以使示例正常工作。 只创建一个带有ID的TextView并尝试对其进行膨胀将失败,因为该方法将Layout作为参数而不是视图。
如何使此my_text_view布局能够使用此示例?
答案 0 :(得分:1)
它应该只使用布局文件中的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时,您需要从您膨胀的视图中获取您感兴趣的文本视图。您可以致电
获取view.findViewById(R.id.text_view);