java - 尝试使用不兼容的返回类型 - android studio

标签 java android android-studio android-intent

有人可以帮我解决这个我不断遇到的错误吗? 我正在尝试制作的程序是在线流媒体广播。 我需要返回值“value”,以便我可以在另一个 java 类中使用它。

ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,ch);

listView.setAdapter(arrayAdapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public int onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent i = new Intent(getApplicationContext(), mPlayer.class);
        i.putExtra("name", ch.get(position));
        int value = listView.getItemAtPosition(position);
        startActivity(i);
        return value;
    }
}

最佳答案

问题出现在这一行:

int value = listView.getItemAtPosition(position);

getItemAtPosition()返回 Object ,因此您必须将其转换为 int在将其分配给 int 之前多变的。只有当您确定您的 listView包含整数,否则你会得到一个 ClassCastException .这样做:

int value = (int)listView.getItemAtPosition(position);

另外,如果你 startActivity()在使用 value 之前任何地方,那么获得它就没有多大意义。使用 putExtra如果您想在那里使用它,可以将它传递给您的下一个 Activity 。

关于java - 尝试使用不兼容的返回类型 - android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38490402/

相关文章:

Android - 后退按钮和 fragment 后退堆栈不起作用

android-studio - 在 Android Studio 中使用 Flutter 时更改 Auto-Indent Lines 设置

Android Studio 更新失败

android - 将 Google Play 服务添加到 gradle (Android Studio) 不起作用

java - 当路径有空间时使用批处理循环构建类路径时出现问题

java - c3p0 和 Heroku postgres,SSL 问题

java - 找不到 ID 0x7f070053 的 View

android - 创建一个低优先级的 Android 服务

java - 如何将小数点后四舍五入到 5,将零保留在第五位

java - 如何找到两个单链表的交集