长按时将文本从列表视图复制到剪贴板

Jai*_*wat 0 android listview android-fragments android-studio

我正在制作一个应用程序,长按后将复制列表视图上的文本.我在listview中创建了一个字符串数组,现在我想在片段中实现长按事件.就像我长按列表项目1时一样,它应该被复制到剪贴板中.我该如何实现它?

OneFragment.java

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.dragedy.kickasshumor.R;


public class OneFragment extends Fragment{

    public OneFragment() {
        // Required empty public constructor
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_one, container, false);
    }

}
Run Code Online (Sandbox Code Playgroud)

FragmentOne.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:entries="@array/list"
        android:id="@+id/listView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

strings.xml中

<resources>
   <string-array name="list">
        <item>Item 1</item>
        <item>Item 2</item>
        <item>Item 3</item>
        <item>Item 4</item>
        <item>Item 5</item>
        <item>Item 5</item>
        <item>Item 5</item>
        <item>Item 5</item>
        <item>Item 5</item>
    </string-array>

</resources>
Run Code Online (Sandbox Code Playgroud)

Feb*_*lix 5

试试这个

    ClipData myClip;
    ClipboardManager clipboard = (ClipboardManager)
        getSystemService(Context.CLIPBOARD_SERVICE);
    mListView.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long id) {
            String text = "hello world";
            myClip = ClipData.newPlainText("text", text);
            clipboard.setPrimaryClip(myClip);
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)