isFull
474
2020-03-26 23:57:50
1
55

안드로이드 recyclerview+fragment에서 아이템 출력 오류


제가 navigation drawer activity를 이용해서 fragment안에 recylerview를 넣어서 아이템을 두개이상 출력할려고 하는데요

일단 두개를 넣었는데 하나밖에 출력이 안됩니다.
GridLayoutManager layoutManager = new GridLayoutManager(getContext(),  2);
이걸 사용하면 두개가 다나오는데
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
위의 것을 사용시 값이 하나만 나옵니다.

아래는 frament1.java파일입니다. 왜 값이 하나만 출력되는지 도무지 이해가 가질 않네요 도움부탁드립니다. 감사합니다.
public class Fragment1 extends Fragment {

BibleAdapter adapter;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment1, container, false);

RecyclerView recyclerView = rootView.findViewById(R.id.recyclerView);
//GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 2);
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(layoutManager);

adapter = new BibleAdapter();

adapter.addItem(new Bible("성경", "이사야 12,2","보라, 하느님은 나의 구원. 신뢰하기에 나는 두려워하지 않는다. 주님은 나의 힘, 나의 굳셈. 나에게 구원이 되어 주셨다."));
adapter.addItem(new Bible("공동번역","집회서 51,8", "그때에 주님, 나는 당신의 자비를 생각하였고 영원으로부터 당신께서 이루신 일들을 생각하였습니다. 당신께서는 당신을 끈기있게 기다리는 사람들을 " +
"구원하시고 원수의 손아귀로부터 그들을 구해 주신다는 것을." ));


recyclerView.setAdapter(adapter);

adapter.setOnItemClickListener(new OnVerseItemClickListener() {
@Override
public void onItemClick(BibleAdapter.ViewHolder holder, View view, int position) {
Toast.makeText(getContext(), "num"+adapter.getItemCount(), Toast.LENGTH_LONG).show();
}
});

return rootView;
}

}
아래는 verse_item.xml파일입니다. 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal">

<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#ffffff"
app:cardElevation="5dp"
app:cardUseCompatPadding="true"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/bibleType"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="bibleType" />

<TextView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="content" />

</LinearLayout>

<TextView
android:id="@+id/verse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="verse" />
</LinearLayout>


</androidx.cardview.widget.CardView>
<pre style="font-family: Consolas; font-size: 12pt;">아래는 framgment1.xml파일입니다.</pre><pre style="font-family: Consolas; font-size: 12pt;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light"
android:orientation="vertical">

<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="힘들때"
android:textSize="20sp" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout></pre>
0
0
  • 답변 1

  • isFull
    474
    2020-03-27 00:16:40

    안나오는 이유를 알아냈습니다. match_parent에서 wrap_content로 바꾸니까 되네요^^

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.