2 つのテキストビューがあり、両方のテキストビューにテキスト選択機能を実装したいと考えています。API のバージョンは 15 以降です。両方のテキストビューのxmlは同じです。私のコードでは、メソッドを呼び出しました。
tv1.setCustomSelectionActionModeCallback(new Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return true;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return false;
}
});
tv2.setCustomSelectionActionModeCallback(new Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return true;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return false;
}
});
コードを実行すると、最初のテキストビューを選択できますが、2 番目のテキストビューを選択できません。Logcat メッセージを Textview として取得することは選択できず、アクション モードはキャンセルされます。すべてのリンクを確認しましたが、問題を解決できませんでした。
両方のテキストビューの xml 構造は同じです。
tv1.setTextIsSelectable(true); も追加しました。tv2.setTextIsSelectable(真);