Articles of listview

ArrayAdapter – 使用多个搜索词进行过滤

我最近在这个SO问题上添加了一笔赏金,但是我意识到原始问题要求使用SimpleAdapter而不是ArrayAdapter。 所以,这个问题与ArrayAdapter有关: 我希望能够使用多个搜索词在ListView中过滤ArrayAdapter。 例如,如果我的列表包含以下项目: a thing another thing a different thing nothing some thing 如果我搜索’thing’,则应在过滤结果中返回所有条款。 这是可以使用以下代码完成的正常行为: private TextWatcher filterTextWatcher = new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method […]

如何在列表视图的上方和下方放置小部件?

我有一个列表视图,并希望在上面(在y轴上)和下面(y轴)放置包括图像,文本视图和一行按钮的东西。 以下是我正在创建的简化版本。 不幸的是,列表覆盖了(即在z轴上方)标题,因此标题文本不可见而不是在下面(在y轴上) 这是相应的Activity类: public class SampleListActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list_activity); } }

android列表查看可点击的问题

我有这个自定义列表。 每行包含一个图像和两行文本,一行在另一行之下。 我想在点击任何列表项时打开一个新活动。 但即使在实现setOnItemClickListener()之后,我也无法这样做。 如果我错了,请纠正我。 以下是列表的代码。 PS:这是正常活动而不是列表活动。 l1.setAdapter(new EfficientAdapter(this,eventTitleArray,eventDateArray,eventImageLinkArray)); //l1 = getListView(); l1.setClickable(true); l1.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int position, long arg3) { Intent intent = new Intent(MainActivity.this, DisplayActivity.class); Bundle b = new Bundle(); b.putString(“event”, eventTitleArray[position]); intent.putExtras(bundle); startActivity(intent); Toast.makeText(getApplicationContext(), “Opening detailed view for:”+eventTitleArray[position], Toast.LENGTH_SHORT).show(); } });

android listview快速滚动定制问题

这是我的列表视图 这是listviewfastscrollstyle样式文件 @drawable/listselector @drawable/listselector 这是listselector文件 但仍然列表视图快速滚动条没有得到定制。

尝试使用runQueryOnBackgroundThread过滤ListView但没有任何反应 – 我错过了什么?

我有一个数据库中的国家列表。 我创建了一个选择国家/地区活动,其中包含一个用于过滤的编辑框和一个显示标记和国家/地区名称的列表。 当活动开始时,列表显示按字母顺序排序的整个国家/地区列表 – 工作正常。 当客户开始在搜索框中输入内容时,我希望根据他们的输入过滤列表。 我的数据库查询以前在AutoCompleteView中工作(我只想切换到单独的文本框和列表)所以我知道我的完整查询和我的约束查询正在工作。 我所做的是在EditText视图中添加TextWatcher,每次更改文本时,我都会调用列表的SimpleCursorAdapter runQueryOnBackgroundThread,并使用编辑框文本作为约束。 问题是列表永远不会更新。 我在调试器中设置了断点,TextWatcher确实调用了runQueryOnBackgroundThread,并使用预期的约束调用了我的FilterQueryProvider。 数据库查询正常,并返回光标。 游标适配器具有filter查询提供程序集(以及用于显示标志的视图绑定器): SimpleCursorAdapter adapter = new SimpleCursorAdapter (this, R.layout.country_list_row, countryCursor, from, to); adapter.setFilterQueryProvider (new CountryFilterProvider ()); adapter.setViewBinder (new FlagViewBinder ()); FitlerQueryProvider: private final class CountryFilterProvider implements FilterQueryProvider { @Override public Cursor runQuery (CharSequence constraint) { Cursor countryCursor = myDbHelper.getCountryList (constraint); startManagingCursor (countryCursor); return countryCursor; […]

在ListView中动态更改TextView字体颜色

我正在将XML文档绑定到自定义适配器。 列表中的所有项目最初都具有白色的字体颜色。 XML文档中的一个节点有一个我正在检查的属性,如果设置了属性,我想将ListView中该项的字体颜色更改为更暗的颜色。 我的代码似乎最初工作,但如果我上下滚动列表,ListView中应该保持白色的项目,自动更改为深色,由于某种原因: 这是我的布局代码: 这是我的自定义适配器: private class CustomAdapter extends BaseAdapter { private ArrayList mData = new ArrayList(); private LayoutInflater mInflater; public CustomAdapter() { mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public void addItem(FilterItem item) { mData.add(item); } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return mData.get(position); } @Override public long […]

无法向ListView添加页脚

我有一个ListView,我正在尝试添加页脚。 出于某种原因,它不会出现。 我的页脚是在一个名为layout_footer的单独XML布局中定义的。 View v = getLayoutInflater().inflate(R.layout.layout_footer, getListView(), false); getListView().addFooterView(v); 这是我的ListActivity的onCreate方法中的代码。 请注意,这是我在onCreate上做的最后一件事。 我希望这个项目与列表的其余部分一起滚动,根据我发现的资源,我相信这就是你如何做到的。 不幸的是,页脚没有显示:( 非常感谢帮助

为什么我无法用布局重力锁定DrawerLayout

我使用DrawerLayout,最近我想改变drawerLayout中listView的重力。 但是我将listView的重力改为android:layout_gravity=”start|bottom”来自android:layout_gravity=”start” ,drawerLayout无法锁定到 mDrawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); setDrawerLockMode()使用; 但它没有锁定; ` 任何线索为什么我不能使用其他重力的锁模式? 谢谢!

如何在ListFragment中触发onListItemClick

在我的应用程序的平板电脑布局中,我有三个ListFragments和一个常规Fragment,我们称之为Make,Model,Size和Details。 最初填充Make列表,然后根据Make选择,填充Model列表; 选择模型时,将填充“大小”列表; 选择“尺寸”时,将显示“详细信息”。 每个事件(列表项选择)都通过onListItemClick处理程序处理。 在启动时,我想填充Make列表,选择列表中的第一个Make并让它通过onListItemClick处理程序来填充Model列表(依此类推,以便填充所有列表并显示详细信息 – 这也应该是在任何列表中进行任何选择时的行为 – 选择下一个列表中的第一个项目,直到我们显示详细信息)。 请注意,我可以控制数据库,对于每个Make,总会有至少一个Model,每个Make / Model至少有一个Size,每个Make / Model / Size只有一个Detail。 所以,我想选择列表中的第一个项目并让它触发onListItemClick处理程序。 我已经尝试了以下(使用适当的边界检查等),但它不起作用。 getListView().setItemChecked(0, true); 对“开箱即用”ListFragment的唯一更改是将CacheColorHint设置为这样 getListView().setCacheColorHint(R.color.GhostWhite); 其中GhostWhite在styles.xml中设置为 #88FFFFFF 有任何想法吗? 提前致谢。

无缝嵌套滚动(Android)

我们都被建议不要使用包含滚动机制的嵌套视图。 但是,在最新的Android版本(5.0)中,Phone应用程序引起了我对ScrollView内部似乎是ListView注意。 真正引起我兴趣的是滚动机制无缝地从ScrollView切换到ListView 。 请注意,在实际ListView开始滚动之前,选项卡上方的内容将被推出视图。 我自己试过复制这个,但结果不成功。 这是我采取的基本方法…… 通过单个连续触摸事件(不抬起手指)…… 当用户滚动时, ListView慢慢覆盖ImageView 。 一旦ImageView被100%覆盖并且ListView占用整个屏幕, ListView开始滚动。 我正在收听ListView上的触摸事件,如果已经到达顶部,请在ListView上调用requestDisallowInterceptTouchEvent ,即 @Override public boolean onTouch(View v, MotionEvent event) { if (listViewAtTop) { v.requestDisallowInterceptTouchEvent(true); } else { v.requestDisallowInterceptTouchEvent(false); } return false; } 只有当您抬起手指并继续滚动时,切换滚动上下文才有效。 是否有不同的方法可以达到预期的效果?