Articles of android adapter

像通用图像加载器示例应用程序中的ListView

我正在使用通用图像加载器在列表视图中显示缩略图。 我已经实现了适配器中的基本步骤,一切正常。 问题是,如果我有10个项目在列表中,我可以看到第一个5,当我向下滚动新的图像显示,但是当我滚动备份的图像被更换一次正确的一次,我想要的是前5个图像在出发时显示不应该被replace。 所以,当我上下滚动图像不会被一次又一次地取代。 就像它在uil示例应用程序ListActivity中完成的那样,一旦加载,图像就不会被replace。 这是代码 应用程序类 public class MyApplication extends Application { @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); // Create default options which will be used for every // displayImage(…) call if no options will be passed to this method DisplayImageOptions displayimageOptions = new DisplayImageOptions.Builder().cacheInMemory().cacheOnDisc().build(); // Create global configuration […]

更新GridView / ListView而不重新填充

每当你更新一个GridView / ListView的时候,你notifyDatasetChanged在适配器上调用notifyDatasetChanged来重新填充列表中的新数据,删除当前列表中的所有内容。 现在把这个小video例如从L Previewdevise指南 是否有可能实现相同的效果,只有当你看到的新变化是在适配器重新加载时没有任何“闪烁”而进入的新项目,还是现在只能在L中完成的事情? 在添加新笔记时, Google Keep应用程序中也可以find这种效果

Android的多种listview布局行的通用适配器

对于不同的行布局模板的每个列表视图,我必须创build每个自定义的适配器,做同样的事情:加载xml行布局,通过id获取控制(TextView,ImageView等..),显示数据…这样的事情: public class CommentAdapter extends BaseAdapter { protected Activity activity; protected static LayoutInflater layoutInflater = null; protected List<Comment> lst; public CommentAdapter(Activity activity, List<Comment> lst){ this.activity = activity; this.lst = lst; layoutInflater = (LayoutInflater)this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public int getCount() { return lst.size(); } public Object getItem(int position) { return lst.get(position); } public long getItemId(int position) { return […]

android.widget.RelativeLayout $ LayoutParams不能转换为android.widget.AbsListView $ LayoutParams

以下大量的教程和示例项目,我已经到了下面的代码应该填充一个ListView与行对象中包含多个值的行。 作为一个新手程序员我不能为了我的生活找出我的代码失败的地方。 任何帮助将非常感激! 如果我遗漏了重要的信息,请告诉我,我会更新这个问题。 在碎片内部启动它的代码: @Override public void onActivityCreated(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); Intent i = getActivity().getIntent(); if (i.getSerializableExtra("ChosenWorkorder") != null){ Workorder selectedWorkorder = (Workorder) i.getSerializableExtra("ChosenWorkorder"); ArticlesListAdapter articlesListAdapter = new ArticlesListAdapter(getActivity(), R.layout.articles_list_row, selectedWorkorder.GetAllLines()); ListView articlesList = (ListView) getActivity().findViewById(R.id.ArticlesList); articlesList.setAdapter(articlesListAdapter); } } 自定义ArrayAdapter: public class ArticlesListAdapter extends ArrayAdapter<Line> { private List<Line> lineList; private Context context; public ArticlesListAdapter(Context context, […]

RecyclerView – NotifyItemInsert上没有animation

出于某种原因,向RecyclerView添加新项目(应该插入到列表顶部)时,除非向下滚动列表并返回到顶部,并且没有任何animation,否则它不会显示。 (只是出现在列表顶部,就好像它在整个时间一样)。 删除一个项目适当的animation工作正常。 RecyclerViewAdapter: @Override public void onNewDatabaseEntryAdded() { //item added to top of the list notifyItemInserted(0); } public FileViewerAdapter(Context context) { super(); mContext = context; mDatabase = new DBHelper(mContext); mDatabase.setOnDatabaseChangedListener(this); } SQLite数据库: private static OnDatabaseChangedListener mOnDatabaseChangedListener; public static void setOnDatabaseChangedListener(OnDatabaseChangedListener listener) { mOnDatabaseChangedListener = listener; } public long addRecording(String recordingName, String filePath, long length) […]

图片GridView里面的片段

我刚开始在iOS平台上开发Android平台。 我环顾四周,我似乎无法弄清楚。 我正在尝试在select操作栏中的选项卡后显示网格视图。 片段通过控制标签栏的主要活动进入视图。 我认为这个问题可能与通过上下文有关,但我不确定。 这是我的MainActivity.java 。 这是片段初始化并附加到活动的位置。 它在没有代码片段的情况下工作。 if (mFragment == null){ mFragment = Fragment.instantiate(mActivity, mClass.getName()); ft.add(android.R.id.content,mFragment,mTag); } else { ft.attach(mFragment); } 这里是我的PhotosFragment.java这是我希望网格视图被填充和显示的地方。 public class PhotosFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GridView gridview = (GridView) this.getActivity().findViewById(R.id.photogridview); gridview.setAdapter(new PhotoImageAdapter(this.getActivity())); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } } 这是我的PhotoImageAdapter.java类。 […]

android如何在适配器内调用startActivityForResult

我有一个适配器类: public class AdapterAllAddress extends BaseExpandableListAdapter { private Context context; public AdapterAllAddress(Context context, ArrayList<AllAddressesGroup> groups) { // TODO Auto-generated constructor stub this.context = context; } } 我想调用startActivityForResult当一个button点击,我知道我可以像这样调用startActivity : context.startActivity() 但我正在寻找结果的活动,请问如何?

无法在自定义适配器中使用LayoutInflater

我正在研究编写一个自定义的适配器来填充每行3个textviews的列表视图。 我已经find了相当多的示例代码来做到这一点,但似乎最好的代码是: http : //www.anddev.org/custom_widget_adapters-t1796.html 经过一些小的调整,以解决最新的Android SDK的一些编译器问题,我得到它运行,只是为了得到exception: ERROR / AndroidRuntime(281):java.lang.UnsupportedOperationException:addView(View,LayoutParams)在AdapterView中不受支持 所以我做了大量的研究,并find了很多可能的原因和解决办法。 没有一件事改变了。 我的适配器代码目前是: public class WeatherAdapter extends BaseAdapter { private Context context; private List<Weather> weatherList; public WeatherAdapter(Context context, int rowResID, List<Weather> weatherList ) { this.context = context; this.weatherList = weatherList; } public int getCount() { return weatherList.size(); } public Object getItem(int position) { return weatherList.get(position); […]

如何recycleview适配器下另一个recycleview适配器?

我有一个RecyclerView 。 它有一个自定义的布局和自定义布局里面的是另一个RecyclerView 。 当我通知回收商视图,一个项目已被删除,我的主要回收视图更新,但我的自定义视图回收视图没有得到通知。 SwipeDismissRecyclerViewTouchListener listener = new SwipeDismissRecyclerViewTouchListener.Builder( recyclerView, new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() { @Override public boolean canDismiss(int position) { return true; } @Override public void onDismiss(View view) { // Do what you want when dismiss int id = recyclerView.getChildAdapterPosition(view); databaseHelper.deleteSingleItem(cartAdapter.cartItemName.get(id)); Log.e(TAG, "onDismiss: " + subdata.get(id) + " " + data.get(id)); subdataprice.remove(id); subdata.remove(id); addonlist.remove(id); price.remove(id); […]

Android:向ArrayAdapter添加数据时可见的ListView图像闪烁

我有一个扩展ArrayAdapter的自定义适配器,它实现了视图持有者模式,以显示来自Web服务的数据(文本+图像)。 对于图片的延迟加载,我使用Android开发人员网站的高级培训中的asynchronous任务模式, 我也使用磁盘+ RAM的位图caching。 当有额外的数据要检索,我添加一个页脚视图,点击它从Web服务检索额外的数据,并将其添加到适配器。 问题是,当这个新的数据被添加时,一些可见的图像正在改变,并立即改变回来,这导致了一个奇怪的闪烁。 除了一切工作正常,滚动平稳。 据我所知,当新的数据被添加时正在刷新可见视图时,正在发生图像变化。 有没有办法绕过这种不需要的行为? 这是下载和pipe理asynchronous任务的类 public class ImageDownloader { private ImageCache mCache; private int reqWidth; private int reqHeight; public void download(String url, ImageView imageView, ImageCache imageCache, int reqHeight, int reqWidth) { mCache = imageCache; this.reqHeight = reqHeight; this.reqWidth = reqWidth; if (cancelPotentialDownload(url, imageView)) { BitmapDownloaderTask task = new BitmapDownloaderTask(imageView); DownloadedDrawable […]