0

基本上,我的活动上有一个按钮,可以粘贴剪贴板中的文本。我的问题是,在对其进行测试后,如果剪贴板中没有可粘贴的内容,应用程序就会崩溃(例如,没有任何内容被复制到剪贴板)。如果剪贴板中有东西,粘贴功能就会起作用,所以我想知道如何处理它。我尝试处理这种崩溃,但它对我不起作用。

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;
    }
}

日志猫:

01-01 15:07:56.860: E/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: E/AndroidRuntime(10567): 在 com.karimo.tester.MainForm.PasteText(MainForm.java:109)

01-01 15:07:56.860: E/AndroidRuntime(10567): ... 13 更多

4

1 回答 1

0

解决它。如果 cData 为空,则需要处理它。

于 2016-01-01T23:14:20.840 回答