Android Studio,RecyclerView在启动时崩溃我的应用程序

问题描述:

我正在与Android Recyclerviewer作战。我遵循大多数教程,并在*上阅读帖子,但我仍然没有正确。
Android Studio,RecyclerView在启动时崩溃我的应用程序

MainActivity

public class MainActivity extends ActionBarActivity { 
RecyclerView myrecyclerView; 
MyAdapter adapter; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    myrecyclerView = (RecyclerView)findViewById(R.id.myRecycleView); 
    adapter = new MyAdapter(MainActivity.this, getData()); 
    final LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this); 
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL); 
    myrecyclerView.setLayoutManager(layoutManager); 
    myrecyclerView.setAdapter(adapter); 
    myrecyclerView.setItemAnimator(new DefaultItemAnimator()); 

    // 
} 
//the Dataset 
public static List<MyDataModel> getData() 
{ 
    List<MyDataModel> myData = new ArrayList<>(); 
    String[] postText = {"ibm", "apple", "google", "microsoft"}; 
    int[] postImgUrl = {R.drawable.google, R.drawable.ibm, R.drawable.microsoft, R.drawable.apple}; 

    for(int x=0; x<postText.length && x<postImgUrl.length; x++) 
    { 
     MyDataModel myModel = new MyDataModel(); 
     myModel.postImgUrl = postImgUrl[x]; 
     myModel.postText = postText[x]; 
     myData.add(myModel); 
    } 
    return myData; 
} 

MyAdapter

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

List<MyDataModel> MyDataset; 
private LayoutInflater inflater; 
public MyAdapter(Context cont, List<MyDataModel> MyDataset) 
{ 
    inflater = LayoutInflater.from(cont); 
} 

public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int ViewType) 
{ 
    //get ItemLayoutView from xml 
    View itemLayoutView = inflater.inflate(R.layout.my_items_row, parent, false); 
    //pass it to the ViewHolder 
    ViewHolder myViewHolder = new ViewHolder(itemLayoutView); 
    return myViewHolder; 
} 

public void onBindViewHolder(ViewHolder viewHolder, int position) 
{ 
    viewHolder.postText.setText(MyDataset.get(position).postText); 
    viewHolder.postImage.setImageResource(MyDataset.get(position).postImgUrl); 
} 

public int getItemCount() 
{ 
    return MyDataset.size(); 
} 

public static class ViewHolder extends RecyclerView.ViewHolder 
{ 
    public TextView postText; 
    public ImageView postImage; 

    public ViewHolder(View v) 
    { 
     super(v); 
     postText = (TextView)v.findViewById(R.id.myPostText); 
     postImage = (ImageView)v.findViewById(R.id.myPostImage); 
    } 

} 
} 

我的模型数据

public class MyDataModel { 
String postText; 
int postImgUrl; 
} 

我通过机器人工作室,其他应用程序在真实的设备测试中,我认为我也是测试很好。 请帮助谢谢。

+0

到底是什么问题? – Beat

+0

该应用程序jst崩溃 –

+0

任何错误或堆栈跟踪? – Beat

你没有初始化MyDatasetMyAdapter

+0

嗨克里斯,我没有.. **列表 MyDataset ** –

+2

答案是初始化MyDataSet,作者声明变量,但没有初始化它 –

+0

请问你可以提供代码 –