Articles of listview

在ListView顶部显示新项目

我正在使用列表来填充ListView()。 用户可以将项目添加到列表中。 但是,我需要将项目显示在ListView的顶部。 如何在列表的开头插入一个项目,以便以相反的顺序显示它?

ListView与标题

有没有办法在ListView的List上方插入另一个View ? 例如,我想要一个位于List顶部的标题栏(TextView),并在List滚动时滚动出视图。 到目前为止,我可以想到两种方法,但两者都是黑客。 想法#1 – 使用假装为ListView的LinearLayout。 但问题是您无法利用适配器提供的“智能”加载/卸载视图。 # add ListItems here 想法#2 – 使用hacky ArrayAdapter ,使用与此类似的getView方法: @Override public View getView(int position, View convertView, ViewGroup parent) { if(position == 0) View view = inflater.inflate(R.layout.special_list_item, null); else View view = inflater.inflate(R.layout.regular_list_item, null); … return vi; }

AdapterView不支持removeView(View)

我想在单击ImageView时从listView中删除某一行。 我的listview看起来像这样: 我希望在单击最后一个图像时删除该行。 这是我的适配器: public class UserItemAdapter extends ArrayAdapter { private ArrayList photos; public UserItemAdapter(Context context, int textViewResourceId, ArrayList photos) { super(context, textViewResourceId, photos); this.photos = photos; } @Override public View getView(final int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.photorowlist, […]

ViewHolder模式中setTag和getTag的工作原理是什么?

我有一个简单的代码片段来实现自定义列表视图。 我的代码如下: WeatherAdapter.java: public class WeatherAdapter extends ArrayAdapter{ Context mcontext; int mlayoutResourceId; weather mdata[] = null; View row; public WeatherAdapter(Context context, int layoutResourceId, weather[] data) { super(context, layoutResourceId, data); mlayoutResourceId = layoutResourceId; mcontext = context; mdata = data; } @Override public View getView(int position, View convertView, ViewGroup parent) { row = convertView; WeatherHolder holder = […]

(Android)如何填充ListView背景并保留标题透明度

我有一个自定义图像背景,填充ListView后面的整个屏幕。 ListView有一个包含一些数据的标题,然后是一个透明的10dp边距(允许我们看到一点背景图像),然后是一些更多的数据。 在这个标题下面,在ListView的“主体”中,我需要将ListView的背景填充到屏幕的底部,即使其中的项目不是一直到底部。 如果我设置了ListView的背景,那么即使只有几个项目(或根本没有项目),我也会得到所需的效果,总是填充到屏幕的底部。 但这也掩盖了标题中的10dp透明分隔符,因此我无法再通过标题看到自定义背景。 有人可以指出我在正确的路径下获得屏幕填充同时保持标题内的透明分隔线? 有人提到我可能需要创建“假”项单元格,可用于创建ListView背景的错觉,而不会影响标题的透明分隔符。 但是,如果可能的话,我希望find一个更简单的解决方案..或者如果这是最好的解决方案,看看有人能给我一些关于如何以最有效的方式实现这一目标的指示。 谢谢! 编辑: 这是我如何定义标题,虽然我认为这个问题与ListView有关,而不是我通过addHeaderView()添加到ListView的标题。 **** 所以,我已经尝试了各种方法来创建10dp填充,目前我正在使用“空”10dp LinearLayout,这样我就可以获得对它的引用,并在我想要时将其可见性设置为GONE(我不是这样做的)在我讨论的情况下) 我正在设置ListView的背景,如下所示:listView.setBackgroundResource(resource)。 再次,当我将背景设置为此ListView时,我得到所需的背景行为总是填满整个屏幕,即使我已添加到列表中的项目数量(顺便说一下,所有项目都使用与我相同的背景资源)设置为ListView)不足以填满屏幕。 但是当我这样做时,标题中的10dp“透明边距”是不可见的,因为在它后面,ListViews背景阻止了底层视图被看到。 我假设发生这种情况是因为ListView的背景也落后于页眉和页脚视图。 关键是,有很多方法可以在元素之间创建一个10dp的“透明边距”,以允许底层视图显示出来。 我的问题在于为ListView“body” (即不是页眉/页脚)创建一个总是填满屏幕的背景,即使列表部分填充或为空,同时保留了标题中的透明度,以便我仍然可以看到ListView“后面”的视图。

如何在android中使用baseadapter刷新自定义列表视图

先生,我如何使用baseadapter刷新我的自定义列表视图。 我不知道放置什么,或者将它放在我的代码中。 请帮帮我。 提前致谢 public class EditDetails extends Activity{ public String nameChanged; public String numChanged; public String name; public String num; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.editdetails); final EditText sqlName = (EditText)findViewById(R.id.editName); final EditText sqlNumber = (EditText)findViewById(R.id.editNumber); name = CustomListView.name; num = CustomListView.number; Button bUpdate = (Button)findViewById(R.id.editUpdate); Button bView = (Button)findViewById(R.id.editView); sqlName.setText(name); sqlNumber.setText(num); bUpdate.setOnClickListener(new […]

底部软NavigationBar与我的ListView重叠

我在Nexus 5(Android 5)上运行了我的应用程序,但是我遇到了底部的软NavigationBar与ListView的最后一项重叠的问题。 我试图将fitsSystemWindows添加到我的样式和ListView但是没有用。 我的布局的XML:

Android:ListView with Buttons – > OnItemClick什么都不做

我的问题来自ListView。 没有Buttons,ListView的.setOnItemClickListener运行良好。 (开始活动) 当我将按钮添加到ListView的项目时,按钮是可点击的,但项目不是更可点击… 我尝试使用myListView.setItemCanFocus(true); 但它不起作用……

Android – ListView中包含的MapView

目前我正在尝试在ListView中放置MapView。 有人有这个成功吗? 它甚至可能吗? 这是我的代码: ListView myList = (ListView) findViewById(android.R.id.list); List<Map> groupData = new ArrayList<Map>(); Map curGroupMap = new HashMap(); groupData.add(curGroupMap); curGroupMap.put(“ICON”, R.drawable.back_icon); curGroupMap.put(“NAME”,”Go Back”); curGroupMap.put(“VALUE”,”By clicking here”); Iterator it = data.entrySet().iterator(); while (it.hasNext()) { //Get the key name and value for it Map.Entry pair = (Map.Entry)it.next(); String keyName = (String) pair.getKey(); String value = pair.getValue().toString(); […]

如果ListView在NestedScrollView中,match_parent不适用于ListView

在我的应用程序中,我使用的是ListView ,它位于NestedScrollView 。 当我将ListView height设置为match_parent它不会覆盖整个屏幕。 我希望ListView能够覆盖整个屏幕。 我的XML文件: