我在Android中遇到了一個奇怪的「問題」或者可能是一個「bug」。 我經常爲我的應用程序使用ClipboardManager。 但是,如果我在幾秒鐘內使用它兩次,我總是得到一個NullPointerException。 我認爲當我訪問它時,我的剪貼板尚未填滿,但這似乎是一個非常愚蠢的想法... 有沒有人遇到同樣的問題,或者我做錯了什麼? 我在String text = item.getText()。toString();ClipData有時在Android中爲空
錯誤消息:
顯示java.lang.NullPointerException:嘗試在at.co.netconsulting上的空對象引用 調用接口方法 'java.lang.String中java.lang.CharSequence.toString()' .leotranslater.SettingsActivity $ 1 $ 3.onPrimaryClipChanged
感謝每一個提示或提前幫助!
以下是一段我的代碼:
final ClipboardManager myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
myClipboard.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
ClipData cp = myClipboard.getPrimaryClip();
if(cp.getItemCount()>0) {
ClipData.Item item = cp.getItemAt(0);
if (item == null) {
Toast.makeText(getApplicationContext(), "Item is null", Toast.LENGTH_LONG).show();
} else {
if(item!=null) {
String text = item.getText().toString();
Toast.makeText(getApplicationContext(), "Sie suchen nach dem Wort: " + text, Toast.LENGTH_LONG).show();
Intent msgIntent = new Intent(SettingsActivity.this, ServiceTranslator.class);
msgIntent.putExtra("ClipBoardData", text);
startService(msgIntent);
}
}
}
}
});
}