Articles of listview

ListView中的EditText不会保持专注

我在ListView每一行中都有一个EditText 。 出于某种原因,当我点击EditText时,它会短暂地获得焦点,但之后立即失去它。 我试过这些东西: listView.setItemsCanFocus(true); editText.setFocusable(true); 当EditText (短暂地)聚焦时, Enter键显示Next并且存在auto-correct bar 。 当它失去焦点时,软键盘保持向上,但Enter键变为Return Arrow , auto-correct bar消失。

使用Listview中的checkbox获取所选项目

我正在创建一个Android应用程序,我有一个ListView,显示我的手机中安装的所有应用程序。 我的ListView是自定义的,它包含一个Icon,TextView和CheckBox,使用的图标是显示应用程序的图标,TextView是显示应用程序的名称,使用CheckBox是确定哪个项目在我选择的ListView。 当我单击应用程序中的按钮时,如何确定在ListView行中选择的CheckBox是什么? 我是Android的新手,所以我不知道我应该做什么方法。 这是我的代码: public class AppInfo { public Drawable icon; public String applicationName; public AppInfo(){ super(); } public AppInfo(Drawable icon, String applicationName){ super(); this.icon = icon; this.applicationName = applicationName; } } import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import android.app.Activity; import android.widget.CheckBox; public class AppInfoAdapter extends […]

使用ListAdapter时ArrayIndexOutOfBoundsException

我正在为ListView使用自定义ListAdapter 。 我不动态地改变任何东西(查看计数,视图types,启用/禁用,我读了其他post,但他们从代码中改变了一些东西)。 我必须执行以下操作来触发exception。 向下滚动到列表底部,然后再向上滚动。 在向上滚动animation的开头,我得到了这个例外。 04-14 09:41:43.907: ERROR/AndroidRuntime(400): FATAL EXCEPTION: main 04-14 09:41:43.907: ERROR/AndroidRuntime(400): java.lang.ArrayIndexOutOfBoundsException 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:4540) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:3370) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.widget.AbsListView.onTouchEvent(AbsListView.java:2233) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.widget.ListView.onTouchEvent(ListView.java:3446) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.view.View.dispatchTouchEvent(View.java:3885) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 04-14 09:41:43.907: ERROR/AndroidRuntime(400): at […]

滚动自定义ListView时,checkbox值会更改

我拥有:带有Textviews和checkbox的自定义列表视图。 问题:假设我的屏幕在时间上只能显示6项列表,而其他项目则不可见。 所以我检查了列表中的第一个元素(位置0处的项目)。 我向下滚动查看我的所有列表,当我向上滚动第一个元素(位置0处的项目)时,正确选中了checkbox。 大! 但现在也检查了新项目,例如位置8处的项目(因为当我滚动列表时(对于环形),它成为位置0的新项目。我的屏幕在时间上仅显示7个元素)。 它会被检查,但我从未检查过它! 问题 :我怎么能避免这个问题? 我不希望我没有单击的checkbox更改其状态。 在我的适配器下面的listView与getView函数,我已经实现了setOnCheckedChangeListener: public class NewQAAdapterSelectFriends extends BaseAdapter { private LayoutInflater mInflater; private Person[] data; public NewQAAdapterSelectFriends(Context context) { mInflater = LayoutInflater.from(context); } public void setData(Person[] data) { this.data = data; } @Override public int getCount() { return data.length; } @Override public Object getItem(int item) { return […]

如何在onSizeChanged中设置大小和布局?

我不能让我的元素,例如ListView ,正确resize。 我有一个ListActivity用于搜索,带有仪表板,编辑框和列表视图。 这个想法是在键盘显示时隐藏操作栏。 我扩展了LinearLayout ,以监听视图大小的变化( 这里推荐): public class SizeChangingLinearLayout extends LinearLayout { //… @Override protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) { View actionbar = mainView.findViewById(R.id.actionbar); if (yNew > yOld) actionbar.setVisibility(View.VISIBLE); else if (yNew < yOld) actionbar.setVisibility(View.GONE); super.onSizeChanged(xNew, yNew, xOld, yOld); } } 操作栏的隐藏/显示按预期工作,但ListView下方与隐藏操作栏的高度相同。 只要任何图形发生变化(例如在编辑框中写入), ListView填补空白。 隐藏键盘时,反向出现类似的行为。 [编辑] 更改其他布局时也会出现同样的问题。 更改onSizeChanged中事物的Visibility直接显示,但在其他一些用户操作重绘这些视图之前,不会显示更改大小和边距。 无效在onSizeChanged无效。 […]

确保在android listview上可见?

有没有办法可以确保Android列表视图中的给定项目完全可见? 我希望能够以编程方式滚动到特定项目,例如当我按下按钮时。

在片段android中创建listview

作为标题,我想在Fragment中创建一个带有自定义行的列表视图。 我的代码如下。 片段类 public class PhotosFragment extends Fragment{ public PhotosFragment(){} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_photos, container, false); ArrayList listContact = GetlistContact(); ListView lv = (ListView)getActivity().findViewById(R.id.lv_contact); lv.setAdapter(new ListviewContactAdapter(getActivity(), listContact)); return rootView; } private ArrayList GetlistContact(){ ArrayList contactlist = new ArrayList(); ListviewContactItem contact = new ListviewContactItem(); contact.SetName(“Topher”); contact.SetPhone(“01213113568”); […]

自定义ListView,日期为SectionHeader(使用自定义SimpleCursorAdapter)

我想显示ListView与Date作为SectionHeader。 我有:我使用自定义SimpleCursorAdapter从sqlite数据库显示ListView。 我的自定义SimpleCursorAdapter是: public class DomainAdapter extends SimpleCursorAdapter{ private Cursor dataCursor; private LayoutInflater mInflater; public DomainAdapter(Context context, int layout, Cursor dataCursor, String[] from, int[] to) { super(context, layout, dataCursor, from, to); this.dataCursor = dataCursor; mInflater = LayoutInflater.from(context); } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView […]

将onclicklistener添加到listview(android)

我设法实现了一个很棒的列表视图,我在这里find了http://www.learn-android.com/2011/11/22/lots-of-lists-custom-adapter/comment-page-1/但我可以似乎添加了一个onclicklistener我只是希望能够在我点击该行时执行操作,该行包含的数据当然是任何想法? 谢谢 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.liste); this.requestWindowFeature(Window.FEATURE_NO_TITLE); // Setup the list view final ListView prestListView = (ListView) findViewById(R.id.list); final prestationAdapterEco prestationAdapterEco = new prestationAdapterEco(this, R.layout.prestation); prestListView.setAdapter(prestationAdapterEco); // Populate the list, through the adapter for(final prestationEco entry : getPrestations()) { prestationAdapterEco.add(entry); } prestListView.setClickable(true); prestListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View […]

ListAdapter和SectionIndexer的快速滚动显示问题

我列出了按月和年分开的事件列表(2010年6月,2010年7月等)。 我启用了快速滚动,因为列表非常长。 我还实现了SectionIndexer,这样当人们快速向下滚动事件列表时,人们可以看到他们当前正在查看的月份和年份。 我对实现没有任何问题,只是如何显示信息。 使用SectionIndexer快速滚动似乎只能支持带有单个字母的标签。 如果列表是字母表,这将是完美的,但我希望它显示更多的文本。 如果你看下面的截图,你会看到我遇到的问题。 http://sofzh.miximages.com/android/mattoakes.net描述问题的屏幕截图 我想知道的是:是否可以更改屏幕中心文本的显示方式。 我可以以某种方式更改它以使其看起来正确(背景覆盖所有文本)。 提前致谢。 如果您需要任何澄清,或代码只是问。