android listview长按选择部分文字

android listview长按选择部分文字,android,listview,android-actionbar,Android,Listview,Android Actionbar,我有一个列表视图,其中每个项目都是文本视图。 我想启用长按行为来选择部分文本,然后能够使用“文本选择”上下文操作栏“全部选择”、“复制”。我研究并尝试了各种解决方案。他们中没有一个对我的处境有用 我也有一个单选弹出菜单处理 谁能想出一个解决办法 这是我的密码 public class MainActivity4 extends Activity { List<String> stringList; ListView listView; ArrayAdapter<S

我有一个列表视图,其中每个项目都是文本视图。 我想启用长按行为来选择部分文本,然后能够使用“文本选择”上下文操作栏“全部选择”、“复制”。我研究并尝试了各种解决方案。他们中没有一个对我的处境有用

我也有一个单选弹出菜单处理

谁能想出一个解决办法

这是我的密码

public class MainActivity4 extends Activity
{

  List<String> stringList;
  ListView listView;
  ArrayAdapter<String> arrayAdapter;

  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = (ListView) findViewById(R.id.listView1);

    stringList = new ArrayList<String>();
    for (int i = 1; i < 21; i++) {
      stringList.add("verse --" + i + " -- The Lord is my shepherd. I shall not want.");
    }
    registerForContextMenu(listView);
    arrayAdapter = new ArrayAdapter<String>(this, R.layout.text_vew, stringList);

    listView.setAdapter(arrayAdapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id)
      {
        view.setSelected(true);
        //Creating the instance of PopupMenu
        PopupMenu popup = new PopupMenu(MainActivity4.this, view);
        //Inflating the Popup using xml file
        popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

        //registering popup with OnMenuItemClickListener
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
        {
          public boolean onMenuItemClick(MenuItem item)
          {
            Toast.makeText(MainActivity4.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
            return true;
          }
        }); 
        popup.show();
      }
    });

  }

  @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
   //able to select part of list text. Example "shepherd".
  // Then show Context Action Bar (CAB) that highlights selected text (example "shepherd") shows "Select All" "Copy" on the CAB
  }

} 
公共类MainActivity4扩展活动
{
列表列表;
列表视图列表视图;
ArrayAdapter ArrayAdapter;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(listView)findViewById(R.id.listView1);
stringList=新的ArrayList();
对于(int i=1;i<21;i++){
加上(“经文--“+i+”--主是我的牧人,我不会缺少的。”);
}
registerForContextMenu(列表视图);
arrayAdapter=新的arrayAdapter(this,R.layout.text\u vew,stringList);
setAdapter(arrayAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
view.setSelected(true);
//创建PopupMenu的实例
PopupMenu popup=新建PopupMenu(MainActivity4.this,视图);
//使用xml文件打开弹出窗口
充气(R.menu.popup\u菜单,popup.getMenu());
//向OnMenuItemClickListener注册弹出窗口
setOnMenuItemClickListener(新的PopupMenu.OnMenuItemClickListener()
{
公共布尔onMenuItemClick(菜单项)
{
Toast.makeText(MainActivity4.this),您单击:“+item.getTitle(),Toast.LENGTH\u SHORT.show();
返回true;
}
}); 
popup.show();
}
});
}
@凌驾
public void onCreateContextMenu(ContextMenu菜单,视图v,ContextMenu.ContextMenuInfo菜单信息){
//能够选择列表文本的一部分。例如“shepherd”。
//然后显示高亮显示选定文本的上下文操作栏(CAB)(例如“shepherd”)在CAB上显示“全选”“复制”
}
} 
acticity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/rl"
                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:id="@+id/listView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    android:descendantFocusability="blocksDescendants"/>

</RelativeLayout>

popup_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

  <item
    android:id="@+id/bookmark"
    android:title="bookmark"/>

  <item
    android:id="@+id/copyVerseToClipboard"
    android:title="copy verse to clipboard"/>

  <item
    android:id="@+id/share"
    android:title="share"/>

  <item
    android:id="@+id/cancel"
    android:title="cancel"/>

</menu>

text_view.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text_view"
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:minHeight="15dp"
          android:paddingLeft="10dp"
          android:paddingRight="10dp"
          android:textSize="20sp"

  >
</TextView>