gpt4 book ai didi

android - 如何在android中动态地在gridview中添加复选框

转载 作者:行者123 更新时间:2023-11-30 03:09:12 25 4
gpt4 key购买 nike

大家好, 我想在 android 的 gridview 中添加复选框。我有一个绑定(bind) gridview 的列表,基于我必须在 gridview 中动态添加复选框的条件。我不想得到任何检查项目。只是如何动态显示 gridview 中的复选框。我使用了相对布局。我是 android 应用程序的新手。请告诉解决方案。

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginRight="10dp"
android:layout_marginTop="20dp"
android:layout_toLeftOf="@+id/spinner1"
android:text="@string/Input_Label" />

<Spinner
android:id="@+id/spinner1"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignTop="@+id/spinner2"
android:layout_marginTop="5dp"
android:text="@string/Input_Label1" />

<Spinner
android:id="@+id/spinner2"
android:layout_width="125dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/spinner1"
android:layout_below="@+id/spinner1"
android:layout_marginTop="10dp" />




<Button
android:id="@+id/button1"
android:layout_width="80dp"
android:layout_height="50dp"
android:layout_alignTop="@+id/spinner2"
android:layout_toRightOf="@+id/spinner2"
android:text="@string/Input_btn" />

<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/spinner2"
android:layout_marginTop="30dp"
android:layout_toRightOf="@+id/textView2"
android:numColumns="3" >

</GridView>

**MainActivity.java**

公共(public)类 MainActivity 扩展 Activity {

private Spinner spinner1, spinner2;
GridView grid;

static final String[] letters = new String[] {

"A", "B", "C", "D", "E",

"F", "G", "H", "I", "J",

"K", "L", "M", "N", "O",

"P", "Q", "R", "S", "T",

"U", "V", "W", "X", "Y", "Z"};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addItemsOnSpinner1();
addItemsOnSpinner2();

Button next = (Button) findViewById(R.id.button1);

grid = (GridView) findViewById(R.id.gridView1);
//simple_list_item_multiple_choice
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, letters);

grid.setAdapter(adapter);
}

public void addItemsOnSpinner1() {

spinner1 = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
list.add("Select");
list.add("SCUF");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
}

public void addItemsOnSpinner2() {

spinner2 = (Spinner) findViewById(R.id.spinner2);
List<String> list = new ArrayList<String>();
list.add("Select");
list.add("Andra Pradesh");
list.add("Tamilnadu");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
}

最佳答案

您的 ArrayAdapter 需要有一个 getView() 方法。这是您可以添加复选框的地方。像这样:

    @Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null || !(convertView instanceof CheckBox)) {
CheckBox checkBox = new CheckBox(getContext());
convertView = checkBox;
}
((CheckBox) convertView).setText(getItem(position));

return convertView;
}

关于android - 如何在android中动态地在gridview中添加复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21280458/

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