与iPhone一样,右侧带有字母的ListView可能吗?

如何解决与iPhone一样,右侧带有字母的ListView可能吗?

| 我想知道Android中的ListView是否可以选择将字母放在右边,例如iPhone ListView的范例,如下所示 如果是,有人可以给我提供示例代码。 我不是在寻找ApisDemo带有字母覆盖的字母,而是在寻找像iPhone范例这样的字母。可能吗?     

解决方法

        我不久前实现了类似的功能,因此我修改了我的活动,您可以在下面查看,抱歉,它的评论不是很好-希望对您有所帮助!
  public class AZIndexer extends Activity {
    ListView myListView;
    ArrayList<String> elements;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // elements
        String s = \"MNBVCXZLKJHGFDSAQWERTYUIOP\";
        Random r = new Random();
        elements = new ArrayList<String>();
        for (int i = 0; i < 300; i++) {
            elements.add(s.substring(r.nextInt(s.length())));
        }
        Collections.sort(elements); // Must be sorted!

        // listview
        myListView = (ListView) findViewById(R.id.myListView);
        myListView.setFastScrollEnabled(true);
        MyAZAdapter<String> adapter = new MyAZAdapter<String>(
                getApplicationContext(),android.R.layout.simple_list_item_1,elements);
        myListView.setAdapter(adapter);

    }

    class MyAZAdapter<T> extends ArrayAdapter<T> implements SectionIndexer {
        ArrayList<String> myElements;
        HashMap<String,Integer> azIndexer;
        String[] sections;

        public MyAZAdapter(Context context,int textViewResourceId,List<T> objects) {
            super(context,textViewResourceId,objects);
            myElements = (ArrayList<String>) objects;
            azIndexer = new HashMap<String,Integer>(); //stores the positions for the start of each letter

            int size = elements.size();
            for (int i = size - 1; i >= 0; i--) {
                String element = elements.get(i);
                //We store the first letter of the word,and its index.
                azIndexer.put(element.substring(0,1),i); 
            } 

            Set<String> keys = azIndexer.keySet(); // set of letters 

            Iterator<String> it = keys.iterator();
            ArrayList<String> keyList = new ArrayList<String>(); 

            while (it.hasNext()) {
                String key = it.next();
                keyList.add(key);
            }
            Collections.sort(keyList);//sort the keylist
            sections = new String[keyList.size()]; // simple conversion to array            
            keyList.toArray(sections);
        }

        public int getPositionForSection(int section) {
            String letter = sections[section];
            return azIndexer.get(letter);
        }

        public int getSectionForPosition(int position) {
            Log.v(\"getSectionForPosition\",\"called\");
            return 0;
        }

        public Object[] getSections() {
            return sections; // to string will be called to display the letter
        }
    }
}
使用xml作为:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
    android:orientation=\"vertical\"
    android:layout_width=\"fill_parent\"
    android:layout_height=\"fill_parent\">
<ListView 
    android:id=\"@+id/myListView\" 
    android:layout_width=\"fill_parent\"
    android:layout_height=\"fill_parent\">
</ListView>
</LinearLayout>
屏幕截图:     ,        您可以检查此项目https://github.com/woozzu/IndexableListView。 这是屏幕截图     ,        如果您愿意编写代码,则有可能,但是AOSP Contacts应用程序中显示的快速滚动器是平台提供的呈现部分索引列表的方式。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?