gpt4 book ai didi

android - 在同一个可滚动布局/fragment 中添加多个 GridView

转载 作者:行者123 更新时间:2023-11-29 20:01:14 24 4
gpt4 key购买 nike

我已经搜索了一个小时,我知道这个问题已经有几个问题,但这些都没有解决我的问题,而且解决方案也太旧了。

我正在开发一个 Activity 应用程序,它会显示参加 Activity 的人的出席情况。它需要有两个 GridView:YES 和 NO,取决于出席情况,并显示客人的照片。

我已经制作了"is"GridView,我尝试在我的布局中添加一个新的 TextView 和 GridView + 为我的“否”GridView 在 Java 中获取它的布局但它只显示第一个。

我做错了什么?我为我的每个选项卡使用 fragment 。

这就是我的对比。我想要什么:

This is my app, just showing one GridView: enter image description here

这是我 fragment 的布局:

[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>

这是我 fragment 的 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;
}

}

最佳答案

GridView 可能不是您的最佳选择。当您有一个可能很长的列表要在滚动容器中显示时,可以使用该小部件。当您有一组不需要自己滚动行为的可管理项目时,TableView 会更好。

此外,您可能不希望这些东西的 layout_height 为 match_parent。使用 wrap_content 仅让它们与内容建议的一样高。

如果您因为不确定整个高度而需要滚动整个内容,请将 LinearLayout 放在 ScrollView 中,并让其确定表格和文本的集合是否应该滚动,如果它们对于分配的空间。

关于android - 在同一个可滚动布局/fragment 中添加多个 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com