Articles of listview

在listview Android的setOnItemClickListener上设置项目点击事件

我有一个使用自定义适配器的列表视图中的三个textview,点击该行,我想要执行所选文本视图的单击事件。 以下是我点击事件的示例代码。 这里第一次点击,听众被设置,只有第二次点击发生的实际点击事件,我想在第一次点击本身find这个。 可能吗? listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapter, View view, int pos, long id) { final Order orderBooking = (Order)adapter.getItemAtPosition(pos); // SKU listener final TextView tvSkuId = (TextView) view.findViewById(orderBooking.getSelectedSkuId()); tvSkuId.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { onSkuClickListener(view, orderBooking); } }); // SO listener final TextView tvSoId = (TextView) view.findViewById(orderBooking.getSelectedSoId()); […]

如何将多个项目放在ListView的同一行上?

我有一个链接到自定义适配器项目的ArrayList。 这些项目按字母顺序排列。 我希望我的ListView在ListView的每一行上最多有四个项目,而且这些行按字母顺序分隔。 例如: [你好] [医院] [酒店] [热点] [ 屋 ] [不可能] [不可能] 所以多个项目将在ListView的同一行上。 有没有一种方法可以使用自定义Adapter类的getView()方法中的位置variables来实现这一点? 这是一个例子,对质量抱歉: 在图像中,后备存储(如ArrayList)将包含按字母顺序排列的名称。

将ListView项目转换为单个位图图像

引用到这个主题: Android获取所有ListView项目的屏幕截图 我想要做这样的事情,但我有自定义适配器,这是抛出我的NullPointerException错误在此代码: childView.measure(MeasureSpec.makeMeasureSpec(_listView.getWidth(), MeasureSpec.EXACTLY),MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); 我的自定义适配器 public class InvoiceListAdapter extends BaseAdapter { ArrayList<Object> _itemList; public Activity _context; public LayoutInflater _inflater; BarCodeGenerator Generator = new BarCodeGenerator(); public InvoiceListAdapter(Activity context,ArrayList<Object> itemList) { super(); this._context=context; this._itemList=itemList; this._inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { // TODO Auto-generated method stub return _itemList.size(); } @Override public Object getItem(int position) { […]

列表视图中的checkbox样式不正确

我在列表视图中显示的checkbox中遇到了样式问题。 我的应用程序使用的主题是Holo,但checkbox以旧式显示。 出现在其他地方的checkbox看起来不错。 我没有做任何事情,比如创造我自己的风格。 截图: checkbox应该看起来像右边的图片。 这是在v4.0.3。 checkbox看起来像他们应该在我尝试使用v4.4.2的另一个设备上。 用于listview行的XML: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <CheckBox android:id="@+id/ListRow_Task_TaskComplete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="6sp" android:focusable="false" /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="7dip" android:paddingBottom="7dip" android:layout_toRightOf="@+id/ListRow_Task_TaskComplete" android:layout_centerVertical="true" > <TextView android:id="@+id/ListRow_Task_Name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" /> // next two textviews are programmatically hidden right now <TextView android:id="@+id/ListRow_Task_Deadline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" […]

在ListView中打开,获取滑动的项目信息

我想在我的应用程序中有相同的本机联系人应用程序的行为。 具体来说,我想要实现向右滑动电话,并向左滑动textmsg。 我有一个ListView,我设置了数组适配器,我实现了onFlingMethod的手势检测器。 我正确地拦截滑动的一面,我可以打电话应用程序。 我需要把物品编号(和其他信息)放在意图,所以我需要得到的物品。 在这里我的代码。 public class Contacts extends Activity implements OnGestureListener { private static final String TAG = "[Contacts]"; ArrayList < ContactInfo > mData; private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200; /** Called when the activity is first created. […]

Android的资源Listlight上的轻微左/右滑动操作

我不确定这个问题是否在这里被问及。 我寻找一种方法来模拟在Android的列表视图中的幻灯片操作。 类似于Samsung Galaxy / Nexus联系人列表操作。 正如你从下面的图片中看到的,我向右滑动,并显示不同的视图来代替联系人。 (没有数字视图)

Android ListView实时更新

我在ListActivity中有一个ListView绑定到一些数据。 我有一个提供数据的内容提供者。 ListActivity通过查询内容parsing器来获取数据: Uri uri = Uri.parse("content://my.provider.DocumentProvider/mystuff"); contentCursor = this.getContentResolver().query(uri, null, null, null, null); 所以现在活动有光标。 它创build一个适配器并将其附加到列表中: ListAdapter adapter = new DocumentListCursorAdapter(this, R.layout.main_row_layout, contentCursor, new String[] { "titleColumn" }, new int[] { titleColumnIndex }); setListAdapter(adapter); 这工作正常; 该列表显示游标中的数据。 但是现在内容提供者有新的数据。 我想要更新列表来显示新的数据。 我见过的例子涉及调用适配器的notifyDataSetChanged,但在我看来,这打破了内容提供者和消耗内容的列表之间的分离。 内容提供者是否需要知道哪些适配器附加到了游标上,以便它可以调用它们的notifyDataSetChanged方法? 还是有没有更好的方式,看不到这两种东西耦合这种方式。

有没有可能禁用滚动ListView?

我dynamic地添加项目到一个ListView并希望使所有项目始终可见,无需滚动。 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/recipe_inside" android:orientation="vertical" > <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="match_parent" android:layout_height="16dp" android:src="@drawable/head_cella" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="41dp" android:background="@drawable/body_cella" android:gravity="center_horizontal" android:paddingTop="5dp" android:text="Remember to save before leaving this page or inserted/modified data will be lost." android:textColor="#000000" android:textSize="13dp" /> <ImageView android:id="@+id/ImageView01" android:layout_width="match_parent" android:layout_height="16dp" android:layout_marginTop="30dp" android:src="@drawable/head_cella" /> […]

Android“从左向右滑动删除”,在列表项上的手势,ICS样式

我正在尝试执行Android ICS及更高版本中针对通知的“从左向右滑动删除”手势。 我在我的应用程序中有一个列表视图。 我有手势检测器工作。 但是当我从左到右在特定列表项上滑动时,我希望项目随着手指一起移动。当我移动手指时,超过了某个点,只有该项目应该删除自己。OnFling()方法I目前还没有达到这个目标。 我怎样才能修改OnFling()方法,使物品与我的手指一起移动? 我的手势监听器类是 class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_MIN_DISTANCE = 50; private static final int SWIPE_MAX_OFF_PATH = 100; private static final int SWIPE_THRESHOLD_VELOCITY = 25; private MotionEvent mLastOnDownEvent = null; @Override public boolean onDown(MotionEvent e) { mLastOnDownEvent = e; return super.onDown(e); } @Override public boolean onSingleTapUp(MotionEvent e) […]

带有edittext的列表视图 – 自动滚动“下一个”

我有一个ListView,每行有一个EditText(除了一些不可编辑的TextView)。 当我编辑EditText中的文本时,软键盘上有“下一步”button – 按下它将焦点移动到下一个字段 – 这很好。 在最后一行,button变成“完成”。 我正在使用EditText.setImeOptions设置button为“完成”或“下一步”根据这是否是最后一行。 问题是listview可以有更多的行可以放在屏幕上。 发生这种情况时,在下一个可见行上按下“下一步”将焦点再次移动到第一行。 我怎样才能让它滚动列表,并转到下一行? 作为参考,这是我在我的适配器中做什么: public class AuditAdapter extends BaseAdapter { private Context context; private int layoutResourceId; private Audit audit; … @Override public View getView(final int position, View convertView, ViewGroup parent) { View row = convertView; final AuditItemHolder holder = (row == null ? new AuditItemHolder() : (AuditItemHolder)row.getTag()); […]