gpt4 book ai didi

java - 向每个 listView 元素添加一个删除按钮

转载 作者:行者123 更新时间:2023-11-30 01:52:13 24 4
gpt4 key购买 nike

我正在学习 android 并且在这部分苦苦挣扎。我有一个简单的 Activity ,带有一个按钮,可以将条目添加到数组列表中的 ListView 。重点是为我的应用程序创建一个 Collection 夹选项卡,以显示您在另一个 Activity 中选择为 Collection 夹的项目。我还没有取得那么大的进展,所以现在我只是在玩这个,想在每一行上添加删除按钮以删除“项目”。这是我到目前为止所拥有的。

public class MainActivity extends ListActivity {

ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> adapter;
int click=1;


public void addItems(View v) {
listItems.add("Soon to be item : " + click++);
adapter.notifyDataSetChanged();
}

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_main);
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
setListAdapter(adapter);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

XML文件

<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="1"
tools:context="com.favtest2.MainActivity">

<Button
android:id="@+id/addBtn"
android:text="Add New Item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="addItems"
android:layout_gravity="right" />

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false" />

最佳答案

对于您使用框架中标准布局的列表项:

android.R.layout.simple_list_item_1

没有按钮。

改为使用“删除”按钮创建自定义布局。

但实际上您甚至不需要按钮 - 您可以在列表项上单击鼠标右键以自行删除它。

查找有关 OnItemClickListener 的信息。

这是一个很好的教程:

http://www.vogella.com/tutorials/AndroidListView/article.html

更新:

添加到您的代码方法中,例如:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

listItems.remove(position);
adapter.notifyDataSetChanged();

}

关于java - 向每个 listView 元素添加一个删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32855438/

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