我知道這個問題有幾個問題,因爲我已經搜索了一個小時,但這兩個都沒有解決我的問題,也沒有解決方案太舊。在同一個可滾動佈局/片段中添加多個GridView
我正在開發一個活動應用程序,它顯示出去的人的出席人數。它需要有兩個GridView:YES和NO,取決於出席情況,並顯示客人的照片。
我已經制作了「YES」GridView,並且嘗試向我的佈局中添加一個新的TextView和GridView,並在Java中爲我的「NO」GridView 獲取佈局,但它只顯示第一個。
我在做什麼錯?我爲每個選項卡使用Fragments。
這就是我所訴v.s.我想:
這是我的片段佈局:
[fragment_one.xml]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.example.MainActivity.OneFragment">
<TextView android:id="@+id/title_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="14dp"
android:text="Yes"
android:textAllCaps="true"
android:textSize="14sp"
android:fontFamily="sans-serif-regular" />
<GridView android:id="@+id/gridview_yes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/title_yes"
android:numColumns="4"
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:stretchMode="columnWidth"
android:gravity="center" />
<TextView android:id="@+id/title_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="14dp"
android:text="No"
android:textAllCaps="true"
android:textSize="14sp"
android:fontFamily="sans-serif-regular" />
<GridView android:id="@+id/gridview_no"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/title_no"
android:numColumns="4"
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:stretchMode="columnWidth"
android:gravity="center" />
</LinearLayout>
這是我的片段的Java:
public class OneFragment extends Fragment {
public OneFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_one, container, false);
GridView gridViewYes = (GridView) view.findViewById(R.id.gridview_yes);
GridView gridViewNo = (GridView) view.findViewById(R.id.gridview_no);
gridViewYes.setAdapter(new ImageAdapter(view.getContext())); // uses the view to get the context instead of getActivity()
gridViewNo.setAdapter(new ImageAdapter(view.getContext())); // uses the view to get the context instead of getActivity()
gridViewYes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(getActivity(), "Esta es la imagen " + position + ".", Toast.LENGTH_SHORT).show();
}
});
return view;
}
}
使用RecyclerView與佈局管理器這樣https://github.com/TonicArtos/SuperSLiM,是真正有用的 –