В принципе, у меня есть кнопка в моей деятельности, которая вставляет текст из буфера обмена. Моя проблема заключается в том, что после тестирования это приложение выйдет из строя, если в буфер обмена нечего вставлять (например, в буфер обмена ничего не было скопировано). Функция вставки работает, если в буфере обмена есть что-то, поэтому я хотел бы знать, как ее обрабатывать. Я пытался справиться с подобным крахом, но это не работает для меня.Android: сбой при попытке вставить ничего
public void PasteText(View v)
{
TextView mainText = (TextView) findViewById(R.id.editext);
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData cData = clipboard.getPrimaryClip();
ClipData.Item item;
String text = "";
if(cData.getItemCount() > 0)
{
item = cData.getItemAt(0);
text = (String) item.getText();
mainText.append(text);
return;
}
else
{
item = null;
mainText.append(text);
return;
}
}
Logcat:
01-01 15: 07: 56,860: Е/AndroidRuntime (10567): java.lang.IllegalStateException: Не удалось выполнить метод активности
01-01 15 : 07: 56.860: E/AndroidRuntime (10567): на android.view.View $ 1.onClick (View.java:4025)
01-01 15: 07: 56.860: E/AndroidRuntime (10567): вызвано : java.lang.NullPointerException: попытка вызвать виртуальный метод 'int android.content.ClipData.getItemCount()' в ссылке нулевого объекта
01-01 15: 07: 56,860: Е/AndroidRuntime (10567): в com.karimo.tester.MainForm.PasteText (MainForm.java:109)
01-01 15: 07: 56,860: E/AndroidRuntime (10567): ... 13 ...
Вы должны вывести stacktrace из аварии, чтобы мы могли помочь вам помочь – codeMagic
'ClipData.getItemCount()' this возвращает 'null' при нажатии кнопки. Отлаживайте свой код. –