【问题标题】:android getTag errorandroid getTag 错误
【发布时间】:2015-05-04 15:20:44
【问题描述】:

有人可以解释为什么会崩溃吗?我以完全相同的方式做两次。我的 logcat 说它是 int FN 行,所以如果我注释掉 int FN 行,它将继续。但我需要得到两个标签,而不仅仅是一个。

我在资源中设置了我的 ID

<resources>
<item type="id" name="fromNumberTag" />
<item type="id" name="contactImageTag"/>

</resources>

我在我的适配器中设置了我的标签。

    // SET OUR DATA FROM OUR CURSOR
    String phone_number = list.getString( list.getColumnIndex("phoneNumber"));
    from.setTag(R.id.fromNumberTag,list.getString(list.getColumnIndex("contactId")));
    contactimage.setTag(R.id.contactImageTag, phone_number);

然后我尝试获取标签。 (这是它崩溃的地方)

     int cid = Integer.parseInt(listText.getTag(R.id.fromNumberTag).toString());
     int fn = Integer.parseInt(listText.getTag(R.id.contactImageTag).toString()); // LOGCAT SAYS THIS LINE IS WHERE ERROR OCCURS

我的日志猫

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
        at myapp.myapp.MainActivity$2.onItemClick(MainActivity.java:272)

【问题讨论】:

    标签: android listview nullpointerexception simplecursoradapter


    【解决方案1】:

    您在两个不同的对象(fromcontactimage)上设置了标签,但试图只从一个对象(listText)中获取标签。也许您在错误的对象上设置了一个标签,或者从错误的对象中读取了一个标签?

    【讨论】:

    • 谢谢你,你的评论让我回顾了我在做什么。我还是新手,所以不明白我必须将它们分配给同一个对象,然后使用 ID 将它们分开。将它们更改为 // SET OUR TAGS from.setTag(R.id.fromNumberTag,list.getString(list.getColumnIndex("contactId"))); from.setTag(R.id.contactImageTag, phone_number); 并且工作得很好。
    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 2012-03-10
    • 1970-01-01
    相关资源
    最近更新 更多