这是我的代码
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#000000">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000000"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
/>
grid.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
/>
</android.support.v7.widget.CardView>
在MainActivity中创建onCreate
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getpopularmovies popularmovies= new getpopularmovies();
popularmovies.execute(); //AsyncTask
mRecyclerView = (RecyclerView)findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new GridLayoutManager(this,2);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new GridAdapter(this);
mRecyclerView.setAdapter(mAdapter);
}
当我运行应用程序时,我看到黑色背景,但我看不到带有图像的卡片。但当我来回转动手机屏幕时,我看到了卡片。唯一的问题是应用程序的开始。我该如何解决这个问题?提前谢谢。
答案 0 :(得分:2)
我认为您应该使用LinearLayoutManager llm = new LinearLayoutManager(this);
代替mLayoutManager = new GridLayoutManager(this,2);
更新:我试过GridLayoutManager(this,2);
,它仍然可以使用。也许,您应该在填充数据(asynctask)后执行setAdapter(adapter);
。您可以尝试onPostExecute