从自定义列表视图中获取字符串

时间:2016-10-11 18:18:02

标签: android android-studio-2.0

所以我想做的是点击一个项目获得一个String值。 但通过这段代码,当我点击项目时,我得到转换器类的位置或类似的东西,我不明白。 吐司中的“MainActivity $ Converter @ 30e6eb1”。我只想让主题部分出现在Toast中。

{{1}}

}

3 个答案:

答案 0 :(得分:2)

更改

String item = String.valueOf(parent.getItemAtPosition(position));

String item = ((Converter)parent.getAdapter().getItem(position)).getSubject() 

答案 1 :(得分:1)

将Converter对象传递给CustomAdapter以列出它们。因此,如果你调用getItem,你必须将Object连接到Converter。所以;

变化

String item = String.valueOf(parent.getItemAtPosition(position));

String item = ((Converter)parent.getAdapter().getItem(position)).getSubject();

所以最终代码:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String item = ((Converter)parent.getAdapter().getItem(position)).getSubject();
                Toast.makeText(getApplicationContext(),item, Toast.LENGTH_LONG).show();}
        });

答案 2 :(得分:0)

parent.getItemAtPosition(位置);无论你从getItem(position)返回什么,都返回at位置的对象。

Converter item =(Converter)parent.getItemAtPosition(position);

Toast.makeText(getApplicationContext(),item.getSubject(),Toast.LENGTH_LONG)。show();