Articles of baseadapter

使用GUID或字符串作为ID的hasStableIds适配器

我正在实现一个自定义的ArrayAdapter ,我想将hasStableIds设置为true。 但是我的T项的ID是字符串 , getItemId方法返回long 。 所以,我目前正在做的是: @Override public boolean hasStableIds() { return true; } @Override public long getItemId(int position) { return this.getItem(position).getId().hashCode(); } 其中getId()返回一个String。 这是使用String ID的正确解决方案吗? 特别是,对于这种情况,String Ids是GUID,有更好的选择吗?

如何在ListView中处理多个倒计时器?

我有一个listview(带有自定义列表适配器),我需要在每一行显示一个倒计时。 例如,如果我的列表包含4个项目,我将有4行。 此时,我需要处理4个不同的倒计时(每行一个),因为时间不同。 到目前为止,我正在通过以下方式处理它:在自定义列表适配器中,在getView()方法内部,我创建一个新的CountDownTimer并在TextView中显示剩余时间。 但问题是它会使活动减慢很多,我甚至无法在最坏的情况下正确滚动(因为每次显示一行时,它都会创建一个新的CountDownTimer)。 我搜索了很多更好的解决方案,但没有人满意。 是否有更清洁,更流畅的解决方案来处理listView中的多个倒计时器? 谢谢

检测BaseAdapter.notifyDataSetChanged()何时完成

我想知道什么时候BaseAdapter.notifyDataSetChanged()完成然后做声音。 我的代码: BaseAdapter.notifyDataSetChanged(); mScroller.startScroll(oldX, 0, dx, 0); mScroller在notifyDataSetChanged()完成之前滚动。 我希望在notifyDataSetChanged()完成后notifyDataSetChanged()滚动到oldX 。 请帮帮我,谢谢。

Android:BaseAdapter和getLayoutInflater在单独的类文件中

现在要填充我的GridViews,我在每个Android活动(大多数都是这些活动)上使用扩展的BaseAdapter类。 为了便于阅读和维护,我试图将所有BaseAdapter代码放在一个单独的类文件中。 要填充GridView,我正在使用LayoutInflater,这里的东西变得棘手…… 由于getLayoutInflater()来自android.Activity ,它只是不会做的伎俩。 我尝试使用我的Adapter.java(填充GridViews的类)一个扩展的Activity类,然后在里面创建BaseAdapter类(我现在就这样做),但是我还没能使它正常工作。 以下是Adapter.java的外观: //Adapter.java package com.cimp.matitec; import greendroid.app.GDActivity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class Adapter extends GDActivity{ public class ImageAdapter extends BaseAdapter { Context MyContext; int count; String[] nombre; public ImageAdapter(Context _MyContext, int n, String[] nombre) { MyContext = _MyContext; count […]

Listview android中的Edittext

我有带有editext和textview的Listview。 当我触摸edittext时,edittext失去焦点! 我通过设置android:windowSoftInputMode=”adjustPan”(AndroidManifest.xml)解决了这个问题。 现在我触摸edittext而不是editext获得焦点但应用程序标签和listview的一些原始消失(顶部)。 当用户触摸edittext而不丢失应用程序标签和一些原始列表视图时,我想获得焦点。 我实施的代码: 当用户触摸edittext时,下面的编码会得到关注,但当软键盘popup时,应用程序标签和listview的一些原始消失。我想在用户触摸edittext时获得焦点,而不会丢失应用程序标签和一些原始列表视图。 1)的AndroidManifest.xml 2)raw_layout.xml 3)main.xml 4)MyListViewDemoActivity public class MyListViewDemoActivity extends Activity { private ListView mListView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mListView=(ListView)findViewById(R.id.mListView); mListView.setAdapter(new MyAdapter(this)); } } class MyAdapter extends BaseAdapter { private Activity mContext; private String character[]={“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”}; public MyAdapter(Activity […]

跳过60帧! 应用程序可能在其主线程上做了太多工作

我正在开发一个应该从Web服务获取JSON响应的应用程序并编写listview中的每个元素,我已经读过我应该使用AsyncTask获取HTTP响应并且我做了它并且我可以从webservice检索数据并在TextViews中显示它们。 但是当我尝试在列表视图中显示元素时,它不会显示任何内容并在logcat中给出以下消息: 06-05 19:44:27.418: I/Choreographer(20731): Skipped 60 frames! The application may be doing too much work on its main thread. 06-05 19:44:27.418: I/Choreographer(20731): Skipped 60 frames! The application may be doing too much work on its main thread. 这是我的主要代码: public class MainActivity extends Activity { private static JsonObject response = new JsonObject(); private ArrayList results […]

Android,List Adapter在getView中返回错误的位置

我发现了一个可能是个错误的神秘问题! 我的片段中有一个列表。 每行都有一个按钮。 列表不应响应单击但按钮可单击。 为了获得点击的按钮,我创建了一个监听器并在我的片段中实现它。 这是我的适配器的代码。 public class AddFriendsAdapter extends BaseAdapter { public interface OnAddFriendsListener { public void OnAddUserClicked(MutualFriends user); } private final String TAG = “*** AddFriendsAdapter ***”; private Context context; private OnAddFriendsListener listener; private LayoutInflater myInflater; private ImageDownloader imageDownloader; private List userList; public AddFriendsAdapter(Context context) { this.context = context; myInflater = LayoutInflater.from(context); imageDownloader […]

SearchView在具有自定义适配器的ListView中

伙计们我需要一些帮助。我一直在尝试在我的项目中实现一个SearchView。但是我的项目包含一个列表视图,附带一个自定义适配器..我搜索了很多站点,但都有使用arrayadapter实现的示例。 。假设我有一个Employee类,它包含名称和年龄字段。如何使用他们的名称来过滤员工.. public class MainActivity extends Activity implements SearchView.OnQueryTextListener { SearchView mSearchView; ListView mListView; //String mStrings[]= {“abc”,”def”,”efg”,”ghi”,”ijk”,”apple”,”agxhsdgc”,”abbbcc”}; ArrayList emp_list=null; EmployeeAdapter emp_adapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSearchView=(SearchView) findViewById(R.id.searchView1); mListView=(ListView) findViewById(R.id.listView1); emp_list=new ArrayList(); emp_list.add(new Employee(“ABC”, 24)); emp_list.add(new Employee(“ACB”, 24)); emp_list.add(new Employee(“BVF”, 28)); emp_list.add(new Employee(“BRT”, 28)); emp_list.add(new Employee(“ANM”, 23)); emp_adapter=new EmployeeAdapter(MainActivity.this, emp_list); mListView.setAdapter(emp_adapter); // […]

如何在Android中的自定义列表视图中使用搜索function

我创建了一个包含多个项目的列表视图。 我还在上面创建了一个搜索框。 我想根据列表的特定字段实现搜索function。 我怎样才能做到这一点? 任何帮助将不胜感激。

ListView与Coundown计时器。 滚动列表视图时计时器闪烁

在我的应用程序中,我必须在列表视图中显示每个项目的倒计时器。 我已经能够使用CountDownTimer来做到这一点。 但是,问题是滚动列表视图向上或向下,定时器开始闪烁。 search了很多,但没有得到解决办法。 我的适配器类 public class BuyListingListAdapter extends BaseAdapter { private Context mContext; private ArrayList<VehicleAttributes> mVehicleList = new ArrayList<VehicleAttributes>(); private Date currentDate; //Saving position in map to check if timer has been //started for this row private HashMap<Integer, Boolean> timerMap = new HashMap<Integer, Boolean>(); public BuyListingListAdapter(Context context, ArrayList<VehicleAttributes> vehicleList, boolean showGridView) { this.mContext = […]