listview avec arraylist,simple adaptateur dans android

J'ai essayer de montrer quelque chose dans listview à l'aide de liste de tableaux et simple adaptateur.
J'ai essayé quelque chose comme ci-dessous, mais dans mon résultat montre les derniers noms de la liste de tableaux.
Qu'est-ce que mon mal je ne peux pas comprendre.

final ListView listView = (ListView) findViewById(R.id.mylist);

    ArrayList<HashMap<String, String>> list_of_bookmarks = new ArrayList<HashMap<String, String>>();

        HashMap<String, String> b = new HashMap<String, String>();

        String[] from = { "php_key","c_key","android_key","hacking_key" };
        String[] name_of_bookmarks = { "php","c","android","hacking" };

            for(int i=0;i<4;i++)
            {
              b.put(from[i],name_of_bookmarks[i]);   
              list_of_bookmarks.add(b);
            }

         };

            int[] to = { R.id.txt1,R.id.txt1,R.id.txt1,R.id.txt1};

            SimpleAdapter adapter = new SimpleAdapter(getBaseContext(), list_of_bookmarks, R.layout.list_layout, from, to);         
            listView.setAdapter(adapter);

Je veux juste montrer "php","c","android","hacking" dans une listview.
Et ce qui devrait être la façon la plus efficace de le faire.Je suis un débutant, donc vous pouvez lui proposer une meilleure façon qui dois-je suivre

Son afficher uniquement la dernière valeur ?
4 fois, la dernière valeur comme "le piratage,hacking,piratage,hacking"

OriginalL'auteur | 2013-09-05