温馨提示×

android gridview控件怎么显示部分数据

小亿
163
2023-12-23 09:48:19
栏目: 编程语言

要显示部分数据,可以使用Adapter的方式来控制GridView的显示内容。可以通过修改Adapter中的数据集合来实现显示部分数据。

以下是一个简单的示例代码:

  1. 首先,创建一个数据集合,并添加部分数据:
List<String> dataList = new ArrayList<>(); dataList.add("数据1"); dataList.add("数据2"); dataList.add("数据3"); // 添加更多的数据 
  1. 然后,创建一个自定义的Adapter类,继承自BaseAdapter,重写相关的方法:
public class MyAdapter extends BaseAdapter { private List<String> mDataList; public MyAdapter(List<String> dataList) { mDataList = dataList; } @Override public int getCount() { return mDataList.size(); } @Override public Object getItem(int position) { return mDataList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // 创建或重用convertView if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); convertView = inflater.inflate(R.layout.grid_item_layout, parent, false); } // 设置显示的数据 TextView textView = convertView.findViewById(R.id.text_view); textView.setText(mDataList.get(position)); return convertView; } } 
  1. 在布局文件中,定义GridView和Grid Item的布局:
  • activity_main.xml:
<GridView android:id="@+id/grid_view" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" /> 
  • grid_item_layout.xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textSize="18sp" /> 
  1. 在MainActivity中,设置Adapter并为GridView设置数据源:
public class MainActivity extends AppCompatActivity { private GridView mGridView; private MyAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mGridView = findViewById(R.id.grid_view); // 创建Adapter并设置数据源 mAdapter = new MyAdapter(dataList); mGridView.setAdapter(mAdapter); } } 

这样,GridView就会只显示部分数据了。你可以根据需要修改Adapter中的数据集合来实现显示不同的数据。

0