与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应用程序中显示的快速滚动器是平台提供的呈现部分索引列表的方式。     

要回复问题请先登录注册