这是我遵循的示例代码.
以下代码是onCreateViewHolder示例代码中的一部分:
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_text_view, parent, false);
// set the view's size, margins, paddings and layout parameters
...
ViewHolder vh = new ViewHolder(v);
return vh;
}
Run Code Online (Sandbox Code Playgroud)
这是ViewHolder的一部分:
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(TextView v) {
super(v);
mTextView = v;
}
}
Run Code Online (Sandbox Code Playgroud)
显然,参数TextView v是错误的.
然后我在这个onCreateViewHolder方法中扮演一个技巧:
...
TextView textView = (TextView) v.findViewById(R.id.tv_test);
ViewHolder …Run Code Online (Sandbox Code Playgroud) 如果使用此代码读取int数字,当我按Ctrl + D时,该程序将不会退出.
while( scanf("%d", &n) ) { ... }
Run Code Online (Sandbox Code Playgroud)
但如果我使用它,它将退出.
while( scanf("%d", &n) == 1 ) { ... }
Run Code Online (Sandbox Code Playgroud)
OS I测试此代码的是Linux,编译器是g ++ 7.3.1.