GetItemAtposition返回对象而不是String

时间:2015-01-01 07:23:02

标签: android onitemlongclicklistener

我在ListView上使用OnItemLongClickListener。我想在长时间按下时复制ListView的文本。但是,它返回对象id而不是String Value。我得到字符串的值为com.myapplication.smnotif.NotificationEntry@42ba0898等...我需要String的值...

代码如下 -

    mListViewNotification = (ListView) findViewById(R.id.notification_listview);
    mListViewNotification.setAdapter(mNotifAdapter);
    mListViewNotification.setOnItemClickListener(this);
    mListViewNotification.setLongClickable(true);
    mListViewNotification
            .setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

                public boolean onItemLongClick(AdapterView<?> arg0,
                        View arg1, int pos, long id) {
                    // TODO Auto-generated method stub
                    ClipboardManager cm = (ClipboardManager) getApplicationContext()
                            .getSystemService(Context.CLIPBOARD_SERVICE);
                    String string = (String) mListViewNotification
                            .getItemAtPosition(pos).toString();

                    ClipData clip = ClipData.newPlainText("Label", string);
                    cm.setPrimaryClip(clip);

                    Toast.makeText(getApplicationContext(), string,
                            Toast.LENGTH_SHORT).show();
                    return true;
                }
            });

1 个答案:

答案 0 :(得分:0)

如果你没有覆盖它以返回更有意义的内容,那么toString会返回什么。要么覆盖toString()以返回你想要的字符串,要么更好地编写一个新函数来完成它。如果字符串准确地总结了对象状态的总和,通常只使用toString()。