Android 从ListView项中提取字符串,添加字符?

Android 从ListView项中提取字符串,添加字符?,android,string,listview,object-to-string,Android,String,Listview,Object To String,我有一个listView,用于显示数据库中的记录,还有一个setOnClickListener(),用于从列表中提取文本并将字符串作为额外内容添加到意图中 这一切都可以正常工作,我的列表显示带有文本的记录,例如,城市、城镇、村庄,当我添加新项目时,这也可以正常工作。我的问题在于,当我使用toast来显示传递给intent的字符串时,会添加一些额外的字符 e、 g.我点击列表项“town”,toast显示“{pg=town}”如何阻止这种情况发生/为什么发生 适配器和onClick的代码如下所示

我有一个listView,用于显示数据库中的记录,还有一个setOnClickListener(),用于从列表中提取文本并将字符串作为额外内容添加到意图中

这一切都可以正常工作,我的列表显示带有文本的记录,例如,城市、城镇、村庄,当我添加新项目时,这也可以正常工作。我的问题在于,当我使用toast来显示传递给intent的字符串时,会添加一些额外的字符

e、 g.我点击列表项“town”,toast显示“{pg=town}”如何阻止这种情况发生/为什么发生

适配器和onClick的代码如下所示

提前谢谢

public void listChange() {
        Cursor c = database.rawQuery("select * from Towns", null);
        c.moveToFirst();
        primeTownlist = new ArrayList<HashMap<String, String>>();
        while (!c.isAfterLast()) {
            primeTownMap = new HashMap<String, String>();
            primeTownMap.put("pg", c.getString(1));
            primeTownlist.add(primeTownMap);
            c.moveToNext();
        }
        c.close();
        primeGoalAdapter = new SimpleAdapter(this, primeTownlist, R.layout.primeTowns,
                new String[] { "pg" }, new int[] {R.id.bt_primeTown});
        primeTowns.setAdapter(primeTownAdapter);
    }

primeTowns.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> list, View view, int position, long id) {
                String title = list.getItemAtPosition(position).toString();
                Intent i = new Intent("com.example.towns.town");
                i.putExtra("town", title);
                startActivity(i);
                Toast.makeText(getApplicationContext(),
                        (title), Toast.LENGTH_SHORT).show();

                }

        });
public void listChange(){
游标c=database.rawQuery(“select*fromtowns”,null);
c、 moveToFirst();
primeTownlist=新的ArrayList();
而(!c.isAfterLast()){
primeTownMap=新HashMap();
primeTownMap.put(“pg”,c.getString(1));
primeTownlist.add(primeTownMap);
c、 moveToNext();
}
c、 close();
primeGoalAdapter=新的SimpleDapter(此,primeTownlist,R.layout.primeTowns,
新字符串[]{“pg”},新int[]{R.id.bt_primeTown});
primeTowns.setAdapter(primeTownAdapter);
}
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView列表、视图、整型位置、长id){
String title=list.getItemAtPosition(position.toString();
意向i=新意向(“com.example.towns.town”);
i、 putExtra(“城镇”,名称);
星触觉(i);
Toast.makeText(getApplicationContext(),
(标题),Toast.LENGTH_SHORT.show();
}
});

这是因为您的列表是HashMap的列表。试一试

String title = ((HashMap<String,String>) list.getItemAtPosition(position)).get("pg");
String title=((HashMap)list.getItemAtPosition(position)).get(“pg”);

干杯,我真的应该意识到这一点!不过编辑了一点