Java 如何使RecyclerView在模拟器中实际打印出ArrayList?

Java 如何使RecyclerView在模拟器中实际打印出ArrayList?,java,android,arraylist,Java,Android,Arraylist,在Android Studio中,我必须用ArrayList和一些图片创建一个RecyclerView。我遵循了一些教程和Android文档,所以我设法编写了一个可以运行的代码。但是,仿真器除了背景色之外什么也不显示 因此,在MyAdapter.java中,我创建了一个onBindViewHolder方法,其中的数据应该提供给ViewHolder。要让程序真正写出Arraylist,我需要做什么更改 MyAdapter.java如下所示: public class MyAdapter e

在Android Studio中,我必须用ArrayList和一些图片创建一个RecyclerView。我遵循了一些教程和Android文档,所以我设法编写了一个可以运行的代码。但是,仿真器除了背景色之外什么也不显示

因此,在MyAdapter.java中,我创建了一个onBindViewHolder方法,其中的数据应该提供给ViewHolder。要让程序真正写出Arraylist,我需要做什么更改

MyAdapter.java如下所示:

    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {

private LayoutInflater inflater;
private Context context;
List<DataSource> data = Collections.emptyList();
public MyAdapter(Context context, List<DataSource> tada){
    this.context = context;
    inflater = LayoutInflater.from(context);
    this.data = tada;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
    View view = inflater.inflate(R.layout.custom_row,viewGroup, false);
    MyViewHolder viewHolder = new MyViewHolder(view);
    return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder viewHolder, int position) {
    //The position of the item within the adapter's data set.
    DataSource info = data.get(position);
    viewHolder.text.setText(info.name);
    viewHolder.icon.setImageResource(info.picid);
}
@Override
public int getItemCount() {
    return data.size();
}
class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    TextView text;
    ImageView icon;
    public MyViewHolder(View itemView) {
        super(itemView);
        text = (TextView) itemView.findViewById(R.id.editText2);
        icon = (ImageView) itemView.findViewById(R.id.listIcon);
        Log.i("MyAdapter", "MyViewHolder()" + " " + String.valueOf(getPosition()));
    }
}
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
MyAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_recycler_view);
    recyclerView = (RecyclerView) findViewById(R.id.drawerList);
    myAdapter = new MyAdapter(this, getdatalist());
    recyclerView.setAdapter(myAdapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
} 这是阵列,也是主阵列:

public List<DataSource> getdatalist(){
    List<DataSource> data = new ArrayList<>();
    String[] name = {"Black Pearl", "Blue Monday", "Gray Worm", "Green Lantern", "Baby Blue", "Clockwork Orange", "Purple Haze", "Red Socks", "Violet Teacher", "Yellow Claws"}
    int[] icon = {R.drawable.black, R.drawable.blue, R.drawable.gray, R.drawable.green, R.drawable.light_blue, R.drawable.orange, R.drawable.purple, R.drawable.red,R.drawable.violet, R.drawable.yellow }
    for(int i =0; i<name.length && i<icon.length; i++){
        DataSource info = new DataSource;
        info.name = name[i];
        info.picid = icon[i];
    }
    return data;
}

在getDataList方法中,您创建了项目,但没有将它们添加到ArrayList中