gpt4 book ai didi

android - 从 ListView android中删除点击的项目

转载 作者:行者123 更新时间:2023-11-30 01:55:35 26 4
gpt4 key购买 nike

public class ListCategorieActivity extends Activity implements AdapterView.OnItemClickListener {
public static String RISULTATO = "RISULTATO";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_categorie);
ListView listview = (ListView) findViewById(R.id.listView1);
listview.setOnItemClickListener(ListCategorieActivity.this);
}

public void onItemClick(AdapterView<?> l, View v, int position, long id) {
Bundle bundle = new Bundle();
Intent mIntent = new Intent();
String[] some_array = getResources().getStringArray(R.array.sections);
bundle.putString(RISULTATO,some_array[position]);
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
}

Activity ListCategorieActivity 显示可点击的项目列表。我的任务是在单击项目时从 ListView 中消除(删除)该项目。我如何使用此代码完成此任务?

activity_list_categorie.xml:

<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.utente.myapplication.ListCategorieActivity">

<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:entries="@array/sections" >
</ListView>

数组.xml:

<resources>
<string-array name="sections">
<item >OG 1</item>
<item >OG 2</item>
<item >OG 3</item>
<item >OG 4</item>
<item >OG 5</item>
<item >OG 6</item>
<item >OG 7</item>
<item >OG 8</item>
<item >OG 9</item>
<item >OG 10</item>
<item >OG 11</item>
<item >OG 12</item>
<item >OG 13</item>
<item >OS 1</item>
<item >OS 2-A</item>
<item >OS 2-B</item>
<item >OS 3</item>
<item >OS 4</item>
<item >OS 5</item>
<item >OS 6</item>
<item >OS 7</item>
<item >OS 8</item>
<item >OS 9</item>
<item >OS 10</item>
<item >OS 11</item>
<item >OS 12-A</item>
<item >OS 12-B</item>
<item >OS 13</item>
<item >OS 14</item>
<item >OS 15</item>
<item >OS 16</item>
<item >OS 17</item>
<item >OS 18-A</item>
<item >OS 18-B</item>
<item >OS 19</item>
<item >OS 20-A</item>
<item >OS 20-B</item>
<item >OS 21</item>
<item >OS 22</item>
<item >OS 23</item>
<item >OS 24</item>
<item >OS 25</item>
<item >OS 26</item>
<item >OS 27</item>
<item >OS 28</item>
<item >OS 29</item>
<item >OS 30</item>
<item >OS 31</item>
<item >OS 32</item>
<item >OS 33</item>
<item >OS 34</item>
<item >OS 35</item>
</string-array>

我想我没有使用适配器。这是正确的吗?

最佳答案

只需添加 listview.getAdapter.remove(position);在 OnItemClick 方法中。不过,我想您正在使用 ArrayAdapter。

编辑

恐怕我的解释很草率。 OnItemClick 方法有4个参数: AdapterView l 是被观察子项的ListView, int position 是子项在ListView中的位置;如果(且仅当)列表适配器是 ArrayAdapter 对象,则 remove(Object item) 方法可用并且可用于删除列表项;为了获得正确的对象,必须调用

对象项 = ((ArrayAdapter)l.getAdapter()).getItem(position);

获取要删除的对象;然后, ((ArrayAdapter)l.getAdapter()).remove(item);可以调用以删除选定的对象。

关于android - 从 ListView android中删除点击的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32295051/

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