如何以编程方式获取当前的Android设备版本(1.5,1.6,2.0等)?即我已经在Android 2.2设备上安装了我的apk.我需要获取设备版本(我的应用程序当前正在运行的android模拟器版本).
我编写代码来查找这样的Android版本
String version=Build.VERSION.RELEASE;
Run Code Online (Sandbox Code Playgroud)
通过使用此代码我得到版本号但我想要版本名称.如何获取版本名称?
我正在ListView为该工具使用适配器SectionIndexer.ListView已fastScrollEnabled设置为true,在XML文件中.一切都在Android 2.2和2.3上运行良好,但是当我在平板电脑上使用Android 3.0测试我的应用程序时,在某些部分滚动条消失了.例如,当我向下滚动列表时,在以字母AB开头的元素中,滚动条可见,但对于字母CH,它不是,然后在H再次可见之后.
此适配器用于在ListView中按字母顺序对内容进行排序,以便可以使用fastscroll.
应用程序是为API Level 8设计的,所以我无法使用fastScrollAlwaysVisible.
这是我的适配器的代码:
public class AlphabetSimpleAdapter extends SimpleAdapter implements SectionIndexer {
private HashMap<String, Integer> charList;
private String[] alphabet;
public Typeface tfSansMedium;
public Context mContext;
public int mResource;
public int[] mTo;
public List<? extends Map<String, ?>> mData;
public String mTitleKey;
public AlphabetSimpleAdapter(Context context,
List<? extends Map<String, ?>> data, int resource, String[] from,
int[] to, String titleKey /* key sent in hashmap */) {
super(context, data, resource, from, to); …Run Code Online (Sandbox Code Playgroud) 我试图AlphabetIndexer用这样的自定义适配器实现
我的类ContactsCursorAdapter扩展SimpleCursorAdapter和实现SectionIndexer
,我使用a LoaderManager来管理我的适配器的光标,所以我已经覆盖了swapCursor()方法,就像上面示例的第二个答案所示.
public class ContactsCursorAdapter extends SimpleCursorAdapter
implements SectionIndexer{
private LayoutInflater mInflater;
private Context mContext;
private AlphabetIndexer mAlphaIndexer;
public ContactsCursorAdapter(Context context, int layout, Cursor c,
String[] from, int[] to) {
super(context, layout, c, from, to);
mInflater = LayoutInflater.from(context);
mContext = context;
}
public View getView(final int position, View convertView, ViewGroup parent) {
...
}
@Override
public int getPositionForSection(int section) {
return mAlphaIndexer.getPositionForSection(section);
}
@Override
public int getSectionForPosition(int position) { …Run Code Online (Sandbox Code Playgroud) android adapter simplecursoradapter android-loadermanager android-cursorloader