Java Can';使用setOnItemClickListener接口时,无法从ListView接收值

Java Can';使用setOnItemClickListener接口时,无法从ListView接收值,java,android,retrofit,themoviedb-api,Java,Android,Retrofit,Themoviedb Api,我想通过点击ListView获得一个电影标题。我得到的数据来自api,由改造提供。现在,我尝试使用这个接口 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

我想通过点击ListView获得一个电影标题。我得到的数据来自api,由改造提供。现在,我尝试使用这个接口

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String s = String.valueOf(listView.getItemAtPosition(position));
            Toast.makeText(genres_listView.this,s,Toast.LENGTH_LONG).show();
        }
    });
我应该如何正确地编码它,以获得正常的标题

@编辑

这是你们想要的POJO课程

public class itemList_model {
@SerializedName("total_results")
private int total_results;

@SerializedName("results")
private List<itemList_Results> results;

public List<itemList_Results> getResults() {
    return results;
}

public int getTotal_results() {
    return total_results;
}

public class itemList_Results{
    @SerializedName("name")
    String name;
    @SerializedName("title")
    String title;
    @SerializedName("vote_average")
    Double vote;
    @SerializedName("overview")
    String overview;
    @SerializedName("release_date")
    String releaseDate;
    @SerializedName("id")
    int id;

    public itemList_Results(String title, Double vote, String releaseDate, String overview) {
        this.title = title;
        this.vote = vote;
        this.releaseDate = releaseDate;
        this.overview = overview;
    }

    public String getTitle() {
        return title;
    }

    public Double getVote() {
        return vote;
    }

    public String getReleaseDate() {
        return releaseDate;
    }

    public String getOverview() {
        return overview;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}
公共类项目列表\u模型{
@SerializedName(“总结果”)
私人int总结果;
@SerializedName(“结果”)
私人名单结果;
公共列表getResults(){
返回结果;
}
public int getTotal_结果(){
返回总结果;
}
公共类itemList_结果{
@序列化名称(“名称”)
字符串名;
@序列化名称(“标题”)
字符串标题;
@序列化名称(“投票平均值”)
双重投票;
@序列化名称(“概述”)
字符串概述;
@序列化名称(“发布日期”)
字符串释放日期;
@序列化名称(“id”)
int-id;
公共项目列表结果(字符串标题、双重投票、字符串发布日期、字符串概述){
this.title=标题;
投票;投票;
this.releaseDate=releaseDate;
this.overview=概述;
}
公共字符串getTitle(){
返回标题;
}
公众双重投票{
返回投票;
}
公共字符串getReleaseDate(){
返回发布日期;
}
公共字符串getOverview(){
退货概述;
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
}
您应该将模型数据传递到位置

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

             Toast.makeText(genres_listView.this,arrayListOBJ.get(position).getTitle(),Toast.LENGTH_LONG).show();
            }
        });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(genres\u listView.this,arrayListOBJ.get(position.getTitle(),Toast.LENGTH\u LONG.show();
}
});

只要试着更换

String s = String.valueOf(listView.getItemAtPosition(position));


希望有帮助。

只需投射返回对象并获取标题字段。就像您的情况一样, 以下输出意味着:

com.example.myfilmguide.models.itemList_model$itemList_Results@21f3fae
单击列表中的项目时,您将获得itemList\u结果对象

那么就用下面的方式,

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            itemList_Results obj = (itemList_Results)listView.getItemAtPosition(position);
            Toast.makeText(genres_listView.this,obj.getTitle(),Toast.LENGTH_LONG).show();
        }
    });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
itemList_Results obj=(itemList_Results)listView.getItemAtPosition(position);
Toast.makeText(genres\u listView.this,obj.getTitle(),Toast.LENGTH\u LONG.show();
}
});

如果您有
项目列表\u结果的列表
,那么您可以获得如下代码所示的选定项目

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            itemList_Results list_results = (itemList_Results) listView.getItemAtPosition(position);
            Toast.makeText(MainActivity.this, list_results.getTitle(), Toast.LENGTH_SHORT).show();
        }
    });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
itemList_Results list_Results=(itemList_Results)listView.getItemAtPosition(position);
Toast.makeText(MainActivity.this,list_results.getTitle(),Toast.LENGTH_SHORT.show();
}
});

覆盖到模型的字符串方法..getItemAtPosition(int position)将为您提供在listView中添加的对象。发布您在listView中添加的模型显示您的模型类我刚刚编辑过的问题。您为什么在此处创建新对象。。?
com.example.myfilmguide.models.itemList_model$itemList_Results@21f3fae
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            itemList_Results obj = (itemList_Results)listView.getItemAtPosition(position);
            Toast.makeText(genres_listView.this,obj.getTitle(),Toast.LENGTH_LONG).show();
        }
    });
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            itemList_Results list_results = (itemList_Results) listView.getItemAtPosition(position);
            Toast.makeText(MainActivity.this, list_results.getTitle(), Toast.LENGTH_SHORT).show();
        }
    });