我在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;
}
});
答案 0 :(得分:0)
如果你没有覆盖它以返回更有意义的内容,那么toString会返回什么。要么覆盖toString()以返回你想要的字符串,要么更好地编写一个新函数来完成它。如果字符串准确地总结了对象状态的总和,通常只使用toString()。