Articles of listview

listview上的异步图像加载器

我在向以下代码实现异步图像加载器时遇到问题。 我在网上看了一些关于它的post,我想我理解它背后的逻辑,但我似乎没有实现它。 下面的代码是我用来简单地加载listview中的图像。 public class MyCustomAdapter extends ArrayAdapter { Bitmap bm; public MyCustomAdapter(Context context, int textViewResourceId, List list) { super(context, textViewResourceId, list); } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub BitmapFactory.Options bmOptions; bmOptions = new BitmapFactory.Options(); bmOptions.inSampleSize = 1; bm = LoadImage(myRssFeed.getList().get(position).getDescription(), bmOptions); View row = convertView; […]

在arrayadapter中更新数据后列出视图返回顶部位置

我有一个listview,使用XML解析每5秒刷新一次。 刷新后,列表的当前位置返回到第一个位置。 有没有办法解决这个问题?

如何制作可扩展的cardviews列表?

我搜索了很多,以find一个直接和明确的解决方案,我认为一个流行的问题,但不幸的是我找不到它。 我们希望有一个cardview列表,以便每张卡绑定到特定数据,每张卡片内部都有一个列表,显示有关其父级的元数据或详细数据。 所以我们在cardview中有一个嵌套列表。 通过简单的搜索,我们知道我们应该使用扩展列表视图,其中父项是cardview,我们必须为其子项设置另一种布局。 因此,当您点击卡片时,根目录上的卡片下方会显示一个项目列表。 但我们想在卡片内显示儿童名单? 并且无法访问诸如子列表id之类的内容或任何其他内容来引用过渡animation和更改布局。 所以明确的问题是如何在cardview中添加listview? 我通过使用tablelayout和table行来关注我的工作。 并且不希望使用外部库来实现稳定性和版本问题。 这就是我的意思。 描述我的问题的图像

Android:使用带有自定义适配器的notifyDataSetChanged()的ListFragment刷新不起作用

我正在使用带有自定义列表适配器的ListFragment,我想通过单击ActionBar中的图标来刷新列表。 不幸的是它不起作用,我不明白为什么。 我的ItemListFragment: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(“debug”,”Hallo in ItemListFragment”); //show ActionBar setHasOptionsMenu(true); //get reference to activity myApp = getActivity().getApplication(); //check if intent from ItemListActivity is null Bundle be = getActivity().getIntent().getExtras(); if (be == null){ //if null read local feed feed = ReadFeed(fileName); Log.d(“debug”, “Lese Feed lokal :”+feed); }else{ //else get extras […]

消息应用程序的ListView在滚动后显示错误的listItem布局

我知道堆栈溢出上已经发布了许多类似的问题,所以请不要认为我没有搜索到高低。 我认为我的问题只是从现在完全理解listViews和列表项的生命周期。 我有一个列表视图,可以包含两种types的消息,出站或入站。 最初,我的listView将使用不同的背景颜色,具体取决于消息的types(出站与入站),并且它可以完美地工作。 现在我的应用程序不需要列表项的不同背景,但它实际上需要不同的列表项的不同布局。 这是我的适配器的剪辑。 public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; SoapBoxMessage thisMessage = messages.get(position); if (v == null) { LayoutInflater inflater = (LayoutInflater) getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (thisMessage.isOutbound()) { v = inflater.inflate(R.layout.outbound_row, null); } else { v = inflater.inflate(R.layout.inbound_row, null); } }

旋转屏幕后找不到微调器

我正在使用’Fragment’来获得一个带有两个’片段’的布局,所以我的课程扩展了’Fragment’。 我在左侧’片段’上加载’ListView’,在右侧’片段’上加载了另一个修改后的’ListView’。 在这里,我有一个’Spinner’,我必须改变它的颜色。 我有这个代码: private void loadSpinner(int value) { //Not relevant code adapter = new ArrayAdapter(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item, data); adapter.setDropDownViewResource(R.layout.spinner); spinner.setAdapter(adapter); } @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { String value = parent.getItemAtPosition(position).toString(); ((TextView) parent.getChildAt(0)).setTextColor(getResources().getColor(R.color.black)); //Some code } 上面的代码按预期工作UNTIL我旋转设备的屏幕。 在这里,我得到了一个nullpointerexception ((TextView) parent.getChildAt(0)).setTextColor(getResources().getColor(R.color.black)); 。 如果我评论上面的行,因为我在旋转屏幕前保存状态,在旋转屏幕后,我的数据将被恢复并且所有工作都按预期工作除了浅色的微调器因此不可见。 我知道我可以创建自己的’微调’布局并解决这个问题,但我想知道如何解决这个问题。

Android ListView onItemClick

我有一个ListView,它包含来自解析的JSON的数据。 所以这是我的示例代码: ArrayList<HashMap> myList = new ArrayList<HashMap>(); /** * parsing JSON… * … * … * … */ ListAdapter adapter = new SimpleAdapter(this, myList, R.layout.s_layout, new String[]{NAME, TEXT}, new int[]{R.id.name, R.id.text}); setListAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView parent, View view, int position, long id){ String inName = ((TextView) view.findViewById(R.id.name)).getText().toString(); String inText = ((TextView) view.findViewById(R.id.text)).getText().toString(); Intent […]

ListView中没有弹性滚动

在我的三星Galaxy S上,如果过度滚动, ListView会产生弹性效果。 但我不希望这在我的申请中。 我可以禁用此弹性滚动吗?

Android convertView,使用与否?

在Android Developer Blog的Multithreading For Performance一文中, convertView在Adapter.getItem()使用,以显示通过HttpRequest.Yet下载的ImageView列表,我还看到一些不使用convertView Android教程,以及只需在Adapter.getItem()膨胀一个新视图。 我想知道使用convertView什么好处? 它如何回收使用过的视图? 使用的视图缓存在哪里? 我问这个问题,因为我没有在我的项目中使用convertView ,我想知道不使用它的成本。 下面是我对listView图像的实现。 我没有使用convertView ,而是在Adapter.getItem()中Adapter.getItem()了一个新视图。 此外,我创建了一个包装类来保存listView每个项目中的人员。 下载图像后,它将作为位图存储在每个列表项的包装类中(图像很小)。 这样,我可以避免重复下载同一图像。 这也避免了Multithreading For Performance中谈到的竞争条件问题。 但是我仍然有点担心,使用我的方法有什么不好的问题吗? 仅供参考:@Carl Anderson推荐的文章提供了有关convertView如何在适配器中工作的详细信息。 本文中建议的Romain Guy的Google IO是另一个很好的参考。 总之,使用convertView可以优化空间和时间。 此外,我已经放弃了自己的imageDownloader并使用了@CommonsWare推荐的Picasso。 它就像一个魅力。

如何在列表视图中禁用子项(使其颜色变为灰色且不可点击)

在我的应用程序中,有一个列表视图,并单击它的每个项目导致操作。 但在某些情况下,某些操作无法完成。 如何在列表视图中禁用子项(使其颜色变为灰色且不可点击)?