Feed Buzzard
  • Fitness Trackers
  • General
  • Tech
  • Wearable Tech
  • World Tech
  • World Tech Code
  • Contact Us
No Result
View All Result
  • Fitness Trackers
  • General
  • Tech
  • Wearable Tech
  • World Tech
  • World Tech Code
  • Contact Us
No Result
View All Result
Feed Buzzard
No Result
View All Result
Home World Tech

Devices with Android + MIUI and setCustomSelectionActionModeCallback –

Gordon James by Gordon James
October 3, 2021
in World Tech
0
0
SHARES
4
VIEWS
Share on FacebookShare on Twitter

Development issue/problem:

I’m trying to create a custom menu, but that doesn’t work on a device with MIUI rom and Android 6. The result is a general menu with all items copied and selected. It works perfectly on other pure Android devices and simulators.

Code:

textViewTop.setCustomSelectionActionModeCallback(new android.view.ActionMode.Callback() {
@General Boolean Menu
onCareActionMode(android.view.ActionMode, menu) {

Log.d(LOG_TAG, onCreateActionMode) ;

return where;
}

@General Boolean menu
onPrereActionMode (Action mode, menu) {
Log.d(LOG_TAG, onPrereActionMode);
menu.clear() ;

int quote_quick = R.drawable.ic_desktop_mac_black_24dp ;
int quote_add = R.drawable.ic_computer_black_24dp ;
int copy = R.drawable.ic_devices_other_black_24dp ;

menu.add(Menu.NONE, QUOTE_START, 3, ).setIcon(quote_quick).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(Menu.NONE, QUOTE_ADD, 2, ).setIcon(quote_add).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(Menu.NONE, CUSTOM, 1, ).setIcon(copy).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
return false;
}.

General Boolean
onActionItemClicked(ActionMode, MenuItem item) {
returns false;
}

@Override public void
toDestroyActionMode {

}
});

How can I solve this problem?

Solution 1:

A few thoughts. What happens if you take an item from the Recovery options menu and change it?

Here’s how:

public boolean onCreateOptionsMenu(final menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
new Handler().post( -> {
final View menuItemView = findViewById(R.id.menu_action_item);
.
}
}

Solution 2:

So I’ve found an alternative, but it only makes sense if it absolutely has to work on MIUI devices. It’s usually a little uncomfortable:

I noticed that the Wikipedia application has custom actions that work on the Xiaomi device, and after checking the code, I found that it works well when texts are selected in WebView.
You can mainly use WebView and replace OnActionModeStarted in your company.

Ancient:

String html = n +
n +
n +
n +
n +
n +
n +
n +
n +
n ;

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

WebView webView = findViewById(R.id.web_view);
webView.setWebViewClient(new WebViewClient());
webView.loadData(html, text/html, UTF-8);
}.

@Override
public void onActionModeStart(mode)) {
super.onActionModeStart(mode);
menu = mode.getMenu();
menu.clear();
mode.getMenuInflater().inflate(R.menu.menu_text_select, menu);
}

Menu :

Results :

Solution 3:

According to https://developer.android.com/guide/topics/ui/menus#CAB, you must create a menu in OnCreateActionMode.

I did it this way (in Kotlin):

Fall actionModeCallbackA = object : ActionMode.callback {
override fun onActionItemClicked(mode: ActionMode?, p1: MenuItem?): Boolean {
Log.wtf(ACTIEMODUS, onActionItemClicked)
actionModeB = startActionMode(actionModeCallbackB)
return true
}.

Skip the fun onCheatActionMode?, Menu?: Boolean {
Log.wtf(ACTION MODE, onCreateActionMode)
fall inflater = mode ?.getMenuInflater()
inflater ?.inflate(R.menu.context_menu, menu)
return true
}.

Skip the fun to OwnActionMode(p0: ActionMode?, p1: Menu?): Boolean {
Log.wtf(ACTION MODE, onPrepareActionMode)
returns false
}

Replace the fun in destruction mode (p0: ActionMode?) {
Log.wtf(ACTION MODE, onDestroyActionMode)
actionModeA = null
}
}.

Solution 4:

I had a similar problem, maybe my solution will help someone. I had to create a view consisting of several EditTexts horizontally side by side, and add the ability to paste text (one letter of text in an EditText)
I used the ActionMode.Callback approach, and it worked well, except on Xiaomi devices. The solution for the Xiaomi devices was to use OnLongClickListener when editing text and to create a PopupMenu when a long click occurs:

editText.setOnLongClickListener(v -> {
PopupMenu menu = new PopupMenu(context,v);
MenuInflater inflater = menu.getMenuInflater();
inflater.inflate(R.menu.paste_menu_item, menu.getMenu()));
menu.setOnMenuItemClickListener(item -> {
pasteText();//een custom function to process the selected action
return false;
});
menu.show();
return true;
})

Good luck!

Related Tags:

mi 10 features,miui 11,latest launch of redmi note series,miui 10 update download,miui 12 release date,miui 13,miui 10.3 3,what is miui forum,how long does xiaomi support their phones,miui phones,miui system,is miui open source,used com miui home,miui 7

Total
0
Shares
Share 0
Tweet 0
Pin it 0
Share 0
Gordon James

Gordon James

Related Posts

Dan Schatt of Earnity Explain How to Build Wealth with Crypto
World Tech

Dan Schatt of Earnity Explain How to Build Wealth with Crypto

May 17, 2022
World Tech

Rewriteguru – A Platform That Provides a Facility to Reuse Your Previous Contents

April 22, 2022
World Tech

How Live Streaming Changed The Gaming Industry

April 20, 2022
Next Post

How To Stop Installation of Multiple Slice APK In Android Studio 2.3 –

Problems In Your Air Conditioner- Fix It Like A Pro

Open .hlp files on Windows 10 (full guide)

No Result
View All Result

Recommended

Dan Schatt of Earnity Explain How to Build Wealth with Crypto

Dan Schatt of Earnity Explain How to Build Wealth with Crypto

2 days ago

Earnity—The New Solution for a Simpler Crypto Trading Experience

3 days ago
Crypto According to Earnity’s Dan Schatt and Domenic Carosa

Crypto According to Earnity’s Dan Schatt and Domenic Carosa

3 days ago

Keys to Successfully Marketing Yourself as an Expert Realtor

2 weeks ago

Categories

  • Fitness Trackers
  • General
  • Latest
  • Tech
  • Technology and Computing
  • Wearable Tech
  • World Tech
  • World Tech Code

Recent Posts

  • Dan Schatt of Earnity Explain How to Build Wealth with Crypto May 17, 2022
  • Earnity—The New Solution for a Simpler Crypto Trading Experience May 16, 2022
  • Crypto According to Earnity’s Dan Schatt and Domenic Carosa May 16, 2022
  • Keys to Successfully Marketing Yourself as an Expert Realtor May 6, 2022

Categories

  • Fitness Trackers
  • General
  • Latest
  • Tech
  • Technology and Computing
  • Wearable Tech
  • World Tech
  • World Tech Code

© 2022 FeedBuzzard.com

No Result
View All Result
  • Fitness Trackers
  • General
  • Tech
  • Wearable Tech
  • World Tech
  • World Tech Code
  • Contact Us

© 2022 JNews - Premium WordPress news & magazine theme by Jegtheme.