Android Studio回收视图适配器错误
我正在尝试让一个适配器为RecyclerView工作,但我看不到如何消除错误。每当我设置一个以m开头的变量时,它就会给我一个无法解析的符号。这是我到目前为止所拥有的。我知道这是不完整的,但这个错误没有出现在教程中,我一直在看,所以我试图找出什么是错的Android Studio回收视图适配器错误,android,android-recyclerview,adapter,Android,Android Recyclerview,Adapter,我正在尝试让一个适配器为RecyclerView工作,但我看不到如何消除错误。每当我设置一个以m开头的变量时,它就会给我一个无法解析的符号。这是我到目前为止所拥有的。我知道这是不完整的,但这个错误没有出现在教程中,我一直在看,所以我试图找出什么是错的 package jlfletcher.cpsc4367.ualr.edu.hw2; import android.support.v7.widget.RecyclerView; import android.view.View; import a
package jlfletcher.cpsc4367.ualr.edu.hw2;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* Created by loser on 10/16/2017.
*/
public class CPSClist extends RecyclerView.Adapter {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
@Override
public int getItemViewType(int position) {
return 0;
}
static class TextViewHolder extends RecyclerView.ViewHolder{
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text)
}
public void bind(){
mTextview.SetText();
}
}
}
您没有在ViewHolder类中放置名为mTextView的变量。我不知道您遵循的是哪一个教程,但正确的做法是:
package jlfletcher.cpsc4367.ualr.edu.hw2;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* Created by loser on 10/16/2017.
*/
public class CPSClist extends RecyclerView.Adapter<CPSClist.TextViewHolder> {
Context context;
List<String> strings;
CPSClist(Context context,List<String> strings){
this.context=context;
this.strings=strings;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int
viewType) {
View view=LayoutInflater.from(context).inflate(R.layout.recycler_vew_single_row,parent,false);
return new TextViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
holder.mTextView.setText(strings.get(position));
}
@Override
public int getItemCount() {
return strings.size();
}
@Override
public int getItemViewType(int position) {
return position;
}
public class TextViewHolder extends RecyclerView.ViewHolder{
TextView mTextView;
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text)
}
}
}
包jlfletcher.cpsc4367.ualr.edu.hw2;
导入android.support.v7.widget.RecyclerView;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
/**
*由loser于2017年10月16日创建。
*/
公共类CPSClist扩展了RecyclerView.Adapter{
语境;
列出字符串;
CPSClist(上下文,列表字符串){
this.context=context;
this.strings=strings;
}
@凌驾
public RecyclerView.ViewHolder onCreateViewHolder(视图组父级,int
视图类型){
视图=LayoutFlater.from(上下文)。充气(R.layout.recycler\u vew\u单行,父项,false);
返回新的TextViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(RecyclerView.ViewHolder,int位置){
holder.mTextView.setText(strings.get(position));
}
@凌驾
public int getItemCount(){
返回strings.size();
}
@凌驾
public int getItemViewType(int位置){
返回位置;
}
公共类TextViewHolder扩展了RecyclerView.ViewHolder{
文本视图mTextView;
公共文本视图持有者(查看项目视图){
超级(项目视图);
mTextView=(TextView)itemview.findViewById(R.id.lit\u text)
}
}
}
替换此
static class TextViewHolder extends RecyclerView.ViewHolder{
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text)
}
public void bind(){
mTextview.SetText();
}
}
static class TextViewHolder extends RecyclerView.ViewHolder{
TextView mTextView;
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text);
}
public void bind(){
mTextview.setText();
}
}
用这个
static class TextViewHolder extends RecyclerView.ViewHolder{
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text)
}
public void bind(){
mTextview.SetText();
}
}
static class TextViewHolder extends RecyclerView.ViewHolder{
TextView mTextView;
public TextViewHolder(View itemview){
super(itemview);
mTextView = (TextView)itemview.findViewById(R.id.lit_text);
}
public void bind(){
mTextview.setText();
}
}
始终从android monitor中放置错误,以便其他人可以轻松找到问题。使用
类CPSClist扩展RecyclerView.Adapter
和evene从getItemCount()
方法返回数组列表的大小并调用setText()
来自onBindViewHolder
参考此,您需要很多changes@JFletcher您可以参考这一点,您需要进行许多更改如果OP尝试您的代码,Android Studio将向他显示一个错误,说明“找不到符号SetText()行号x”。在Java中,方法名称以小写字母开头setText()
不是setText()
实际上它是由asker用原始代码编写的。我没有看到。谢谢汉克斯,这就是我错过的!我还修复了SetText()的问题。