Android에서 이상한 "문제"또는 "버그"가 발생했습니다. 내 응용 프로그램에 ClipboardManager를 자주 사용합니다. 그러나 몇 초 안에 두 번 사용하면 항상 NullPointerException이 발생합니다. 내가 생각하기에 Clipboard는 내가 액세스 할 때 아직 채워지지 않았지만 이것은 정말로 어리석은 생각 인 것 같습니다 ... 누구에게도 동일한 문제가 발생 했습니까? String text = item.getText(). toString();에서 오류가 발생합니다.Android에서 ClipData가 Null 인 경우가 있습니다.
오류 메시지 :
java.lang.NullPointerException이 : at.co.netconsulting에서 널 객체 참조 에 ') java.lang.String의 java.lang.CharSequence.toString ('인터페이스 메소드를 호출 시도 역어. 설정 $ 1 $ 3.on 기본 클립 변경됨
모든 힌트 나 도움을 미리 주셔서 감사합니다! 나는이 해결책이 될 수 있다고 생각
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);
}
}
}
}
});
}