Articles of listview

从listview传递给gridview

我有一个列表的活动,其中的项目是由图像+文本。 我需要允许用户改变视图,并有一个gridview而不是它(其元素仍然是由相同的图像+文本)。 用户可以通过图标菜单来完成: public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()== R.id.change_view) { // ? } } 我试图设置新的适配器(见下文),但它不工作..我必须创build一个新的活动来做到这一点? if(item.getItemId()== R.id.change_view) { setContentView(R.layout.grid_view); gridViewAdapter = new GridViewAdapter(this,R.layout.bookmark_list_item,MyApp.getItems().findAll()); list.setAdapter(gridViewAdapter); list.setVisibility(View.VISIBLE); }

最好使用光标适配器或arrays适配器

我有大约100的时间表存储在数据库中,需要根据需求显示它们,如基于每周,下周,下个月,超过时间表等要求。 加载应用程序启动时的所有时间表,并根据用户在arrays适配器中select的选项(每周,过期,每月等等)显示它们是否好。 或者在运行时使用查询,从数据库获取结果,并使用cusor来加载listview上的数据使用cusoradapter ?. 哪种方法是有效的?我觉得查询数据库总是很费力的操作? 这是真的吗?

ListView标题忽略layout_height

我膨胀这个视图,并将其添加到我的ListView作为标题。 我想把它做成500dp高(硬编码,为了这个例子) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:background="@drawable/repeat_background" android:layout_height="500dp"> <ImageView android:id="@+id/filter_menu" android:src="@drawable/ic_sort" android:layout_gravity="center_vertical" android:padding="8dp" android:layout_weight="0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="showPopup"/> </LinearLayout> ListView不尊重它的标题的作者,并将其封装在其内容上。 任何人都可以解释发生了什么?

在Android的列表视图内设置OnClick Listenerbutton

我在我的屏幕上有一个列表视图,每个列表项目包含2个文本视图和一个button。 在button单击我想要采取列表项select索引从vector中获取一些数据。 这是我的列表自定义适配器,但我不知道如何做到这一点。 private class CustomAdapter extends ArrayAdapter<ServicesItems> { public CustomAdapter(Context context, int resource, int textViewResourceId, List<ServicesItems> objects) { super(context, resource, textViewResourceId, objects); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; TextView item = null; TextView description = null; Button subNowBtn; ServicesItems ii = getItem(position); if (null == […]

android appwidget listview不更新

我写了一个AppWidget,它显示ContentProvider的一个ListView中的一些数据,但是我更新时遇到了麻烦。 当我第一次创build小部件时,它会正确填充,但在AlarmManager的PendingIntent到达后,ListView上不会发生更新。 代码如下: Intent update = new Intent(context, MenuWidgetProvider.class); update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds); PendingIntent pIUpdate = PendingIntent.getBroadcast(context, 0, update, 0); ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)). set(AlarmManager.RTC, nextTime.toMillis(false), pIUpdate); Log.d(TAG, "updating: " + dmt.mealName); for (int i = 0; i < appWidgetIds.length; ++i) { int widgetId = appWidgetIds[i]; RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_menu); // meal name views.setTextViewText(R.id.widget_locname, prefs.getString(PREF_WIDGET_LOCNAME, "")); […]

Fragment中的上下文菜单使用来自不同Fragment的ListView:registerForContextMenu(getListView())

我试图寻找解决scheme,但没有发现任何符合我的情况。 我有一个扩展FragmentActivity的MainActivity和多个ListFragments。 我使用PagerSlidingTabStrip库为slidetabs和ViewPager。 碎片没有XML布局,它们只是ListFragments,它返回一个ListView,所以不需要布局。 这是一个音板应用程序,长按列表项目,允许用户设置一个声音文件作为他们的铃声,通知或报警,或保存到SD卡。 现在,所有的Fragments都可以加载自己的数据。 一切似乎没问题,但是,当我在后台加载的Fragment上使用上下文菜单时,似乎是使用来自之前加载的第一个或上一个片段的Lis​​tView,创build它之前可见的那个片段。 我的意思是说,我的MainActivity开始,它加载FragmentA,并在后台FragmentB也预装。 在onActivityCreated方法中,对于这两个片段,它使用registerForContextMenu(getListView())。 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Data loading etc MyAdapter adapter = new MyAdapter(getActivity(), R.layout.data_row, data); setListAdapter(adapter); registerForContextMenu(getListView()); } 但似乎正在发生的是,FragmentB调用registerForContextMenu(getListView()),它似乎是采取当前活动的ListView,这是FragmentA的列表。 所以说,我select从上下文菜单中保存一个文件。 我长按FragmentB的第一项,但它试图保存FragmentA的第一项。 如果我只点击列表项,就会像期望的那样播放它自己的声音,但上下文菜单命令使用预载的时候可见的片段列表。 这是onCreateContextMenu。 请注意,此时它使用上下文菜单标题中的正确的项目标题。 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo; menu.setHeaderTitle(data.get(info.position).getDataName()); MenuInflater […]

android listview滚动到listitems的数量

我正在使用ListView,我想向下滚动到列表的10个项目时,视图得到加载,怎么能做到这一点?

Android:Listview不能通过键盘向上移动

我的布局看起来像这样: <LinearLayout> <RelativeLayout> Some Image and Text as Title </RelativeLayout> <RelativeLayout> <LinearLayout> <ListView> My message List </ListView> </LinearLayout> <RelativeLayout> Edit Box and Send Button </RelativeLayout> </RelativeLayout> </LinearLayout> 显示时,我明确地将当前select设置为列表的最后一个项目(最新)。 在底部的“编辑”框中未input文字时,屏幕如下所示: Top Title List Item 8 List Item 7 … List Item 2 List Item 1 Bottom Edit box and Send Button 当我点击编辑框键入我的消息时,屏幕如下所示: Top Title List Item […]

停止在列表视图中滚动

我在我的活动中有一个listview和一个imagebutton。 当我点击图像button,我想要去列表中的特定位置(我通过调用列表中的setSelection(int position)来做到这一点。当用户打开列表视图,然后单击imagebutton时,会出现问题。到指定的位置,但继续滚动。 例如。 当我进入fling模式时,点击button,然后到第四个位置,但是listview保持滚动,所以我最终select了25

屏幕旋转后,Android listview消失

在我的布局,我有一些button做出一些select,然后一个button来执行查询到数据库。 此查询的结果显示在此布局的ListView 。 问题是,如果我执行查询后旋转屏幕, ListView消失,必须再次执行查询。 我相信这是因为活动重新开始。 按照这里的build议,我已经添加到我的活动清单android:configChanges="orientation|keyboardHidden"并在我的代码中添加: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setContentView(R.layout.mylayout); } 但是这不起作用。 以下是我的活动的完整代码: public class MyClass extends ListActivity implements OnClickListener, OnCheckedChangeListener { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.mylayout); // Creates the buttons and setOnClickListener and setOnCheckedChangeListener } @Override public void onClick(View v) { […]