Ich stieß auf ein seltsames "Problem" oder vielleicht einen "Bug" in Android. Ich verwende den ClipboardManager für meine App ziemlich oft. Aber wenn ich es innerhalb von ein paar Sekunden zweimal benutze, bekomme ich immer eine NullPointerException. Was ich denke ist, dass ich Zwischenablage nicht bereits gefüllt ist, wenn ich darauf zugreifen, aber das scheint eine wirklich dumme Idee zu sein ... Hat jemand das gleiche Problem angetroffen, oder mache ich etwas falsch? Ich bekomme den Fehler bei String text = item.getText(). ToString();ClipData ist manchmal Null in Android
Fehlermeldung:
java.lang.NullPointerException: Versuch Interface-Methode 'java.lang.String java.lang.CharSequence.toString()' auf null Objektreferenz bei at.co.netconsulting aufzurufen .leotranslater.SettingsActivity $ 1 $ 3.onPrimaryClipChanged
Vielen Dank für jeden Hinweis oder Hilfe im Voraus! Hier
ist ein Stück von meinem Code:
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);
}
}
}
}
});
}