Articles of listview

如何知道listview何时完成在android上加载数据

我目前有一个列表视图,显示必须完成的事情的信息。 当用户单击列表视图上的项目时,应用程序将检查已单击的项目并将其设置为已完成。 如果项目已设置为已完成,则会显示带有检查的图像视图; 此imageview是listview项目的一部分。 一切都运作良好。 如果我滚动,退出活动并再次打开它,取消选中该项,一切正常,并显示或隐藏相应列表视图项的图像视图。 但我的问题是: 我有2个按钮来按字母顺序和日期顺序对列表视图项进行排序。 当我点击它们时,它们工作得很好。 但是,应用程序不会显示已检查项目的图像视图。 我知道这是因为为了使检查出现,我需要将listview完全加载。 我的意思是,在活动中显示所有信息。 我的问题是: 我怎么知道列表视图何时填充或加载,以便我可以调用确保哪些项目已经检查以显示图像视图的方法? 我使用了isfocused(),onfocuschanged(),onWindowChangeState()以及所有这些types的方法,但它们都不能用于触发我的方法。 是否有任何方法可以知道列表视图何时填充以使检查显示在已显示的项目上,而无需任何用户交互? 感谢您的时间和帮助。 PD:我已经拥有用户滚动列表的部分,该部分已经完成。 我正在使用SimpleCursorAdapter来填充listview。 这是我填充列表视图的地方: public void mostrarLista(){ Cursor c = admin.obtenerCursorGastosFijos(ordenadoPor); // The desired columns to be bound String[] columnas = new String[] {“_id”, “Descripcion”, “Costo_Estimado”, “Fecha_Pago”}; // the XML defined views which the data will be bound to […]

使用ListView的Android小部件不会加载项目correclty

我正在尝试使用ListView为我的应用程序实现一个小部件。 为此,我逐步完成了以下所有链接: 带有列表视图的Android应用小部件 将App小部件与集合一起使用 – developer.android.com/guide/topics/appwidgets/index.html#collections 在Android中的主屏幕小部件中填写ListView – stackoverflow.com/questions/14121602/filling-listview-in-homescreen-widget-in-android 但是,当我将小部件放在主屏幕上时,列表项的数量确实与我在数据库中的项目数相匹配,但每行的视图不会更新并继续显示“正在加载…”(如图所示)这个屏幕截图 ) 我不明白缺少什么。 非常感谢您的帮助! 这是我的AppWidgetProvider: package com.appro.illbeback; import com.appro.illbeback.R; import com.appro.illbeback.data.CallsDataSrouce; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.widget.RemoteViews; public class CallsAppWidgetProvider extends AppWidgetProvider { private CallsDataSrouce dataSource; @SuppressWarnings(“deprecation”) @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { dataSource = […]

如何为listview中的每一行设置不同的背景颜色?

我想在listview的每一行中设置不同的背景颜色? 我使用自定义适配器列表视图 。 它应该出现在活动loads.static不同颜色的行时。

在Honeycomb上更改激活的列表项背景的颜色

对于Honeycomb,我已将listview项设置为使用?android:attr/activatedBackgroundIndicator样式,以便在选中时保持突出显示。 如何更改突出显示的颜色?

ListView onScroll添加更多项目

private class getArticles extends AsyncTask { String url; getArticles(String paramUrl) { this.url = paramUrl; } @Override protected void onPreExecute() { super.onPreExecute(); mProgressDialog = new ProgressDialog(App.this); mProgressDialog.setMessage(“Učitavanje artikala…”); mProgressDialog.setIndeterminate(false); mProgressDialog.setCancelable(false); mProgressDialog.show(); } @Override protected Void doInBackground(Void… params) { arraylist = new ArrayList(); try { Document document = Jsoup.connect(url).get(); Elements els = document.select(“ul.category3 > li”); for (Element […]

在UI线程中使用setAdapter时,listView中的项目具有白色文本

对于另一个活动中的另一个listView,项目的文本颜色是黑色的,就像它应该的那样。 但是,在另一个活动中,当新项目创建时,在新线程中使用setAdapter时,如果我想要它为黑色,则文本颜色为白色。 这是Layout和Java代码的内容: Java代码: package project.yemeb; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; public class Search extends Activity { @Override […]

在ListView顶部显示新项目

我正在使用列表来填充ListView()。 用户可以将项目添加到列表中。 但是,我需要将项目显示在ListView的顶部。 如何在列表的开头插入一个项目,以便以相反的顺序显示它?

ListView与标题

有没有办法在ListView的List上方插入另一个View ? 例如,我想要一个位于List顶部的标题栏(TextView),并在List滚动时滚动出视图。 到目前为止,我可以想到两种方法,但两者都是黑客。 想法#1 – 使用假装为ListView的LinearLayout。 但问题是您无法利用适配器提供的“智能”加载/卸载视图。 # add ListItems here 想法#2 – 使用hacky ArrayAdapter ,使用与此类似的getView方法: @Override public View getView(int position, View convertView, ViewGroup parent) { if(position == 0) View view = inflater.inflate(R.layout.special_list_item, null); else View view = inflater.inflate(R.layout.regular_list_item, null); … return vi; }

AdapterView不支持removeView(View)

我想在单击ImageView时从listView中删除某一行。 我的listview看起来像这样: 我希望在单击最后一个图像时删除该行。 这是我的适配器: public class UserItemAdapter extends ArrayAdapter { private ArrayList photos; public UserItemAdapter(Context context, int textViewResourceId, ArrayList photos) { super(context, textViewResourceId, photos); this.photos = photos; } @Override public View getView(final int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.photorowlist, […]

ViewHolder模式中setTag和getTag的工作原理是什么?

我有一个简单的代码片段来实现自定义列表视图。 我的代码如下: WeatherAdapter.java: public class WeatherAdapter extends ArrayAdapter{ Context mcontext; int mlayoutResourceId; weather mdata[] = null; View row; public WeatherAdapter(Context context, int layoutResourceId, weather[] data) { super(context, layoutResourceId, data); mlayoutResourceId = layoutResourceId; mcontext = context; mdata = data; } @Override public View getView(int position, View convertView, ViewGroup parent) { row = convertView; WeatherHolder holder = […]