問題タブ [actionmode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - コンテキストメニューと同様にActionModeを使用した位置依存アクション
古いアプリでは、通常onCreateContextMenu()
、コンテキストアクションに次の署名を使用します。
これmenuInfo
により、リスト内のコンテキストメニューが作成されていたアイテムに関する情報が提供されます。次に、それに適したアクションを見つけて、メニュー項目として作成する権利Uri
を取得できます(自動インテントなどを使用)。
現在、新しいAPIでは、これに代わるものは、以下を使用するコンテキストアクションバーActionMode
です。
しかし、ここでは、どうすればアイテムを区別したり、この位置情報を取得したりできますか?
バッチモードの場合、このようなパラメータが存在しないことは理にかなっています。何にでも適用できるアクションのみを提供する必要があるためです。しかし、シングルモードの場合、ボタンがアクションバーにあることを除けば、これは古いAPIと完全に同等ではないでしょうか。
参照:http ://developer.android.com/guide/topics/ui/menus.html#context-menu
android - Linkify、ListView、ActionMode。通常のテキストはクリックできなくなりました
だから私はランダムなテキストを表示するリストビューを持っています。textviewは通常のテキストの場合もありますが、URLなどの場合もあります。BaseAdapterのコードに次の行を追加しました。
mHolderがlistViewを高速化するためのViewHolderのインスタンスである場合、コンテンツはそのviewHolder内のTextViewであり、私はWebURLのみを強調表示します。
最初の問題、
そのコード行を追加してから、「asdfg」のような通常のテキストしかないアイテムの一部は、クリックしても強調表示されなくなりました。明確にするために、「強調表示」とは、onClickイベントを処理するために提供されたコードがあるかどうかに関係なく、listViewアイテムがクリックされたときに発生する通常の強調表示のみを意味します。
ここでの問題はそのコード行であることがわかっています。これを削除すると、listView上のすべてのアイテムがクリックされたときに強調表示されるためです。このスクリーンショットでこれを説明しようとしました
2番目の問題、
ActionModeを処理するために、MultiChoiceModeListenerをlistViewに追加しました。ただし、textViews内のリンクはクリック可能になり、ブラウザーが起動するため、ActionMode内のコードに従う代わりに、ActionMode内にあることを気にせずにブラウザーを起動するため、ActionMode内のリンクは正しく機能しなくなります。onItemCheckedStateChangedメソッド。
たとえば、ActionModeの場合、ユーザーがクリックしたすべてのアイテムは、後でonActionItemClickedを介して使用されるitemsCheckedという名前のArrayListに追加されます。ただし、linkifyを使用する場合、これは実行できなくなります。ユーザーがWeb URLをテキストとして含むListViewアイテムをクリックすると、ブラウザーがリンクを処理するために呼び出されるため、アプリがバックグラウンドに送信されます。
私の質問は、コード内のこれらの問題を潜在的に修正するために何ができるかということです。
リンクを強調表示してクリック可能にしたいのですが、このコストではありません。リンクを強調表示してクリック可能にするために、Linkify以外のものを使用する必要がありますか?または、その「クリック可能性」は常にListViewアイテムの通常の動作を妨害します。
参考までに、ActionModeとListViewに対して実行しているコードは次のとおりです。(Linkifyを使用しない場合、コードは適切に機能することに注意してください。
android - アクションバー強制分割タブとアクションモード
(で) と(で) をタブで強制的ActionBar
に分割する方法は? 役に立ちません(ワイドスクリーンエミュレーターで試しています)top
ActionMode
bottom
android:uiOptions="splitActionBarWhenNarrow"
android - ListadapterからActionMode()を開始します
カスタムListView-Adapterに問題があります。そのため、チェックボックス(すべてのリストアイテムに1つあります)がチェックされているときに、ActionBarSherlockのActionModeを開始しようとしています。OnClickListenerをアダプタに直接実装しました。
ActionModeを正しく開始するにはどうすればよいですか?
あなたが私を助けてくれることを願っています。
android - ActionMode のネスティングを検出する
アプリケーションでいくつかのカスタム ActionModes を使用しています。アクション モードが閉じられると、関連するビューを閉じる、変更を更新するなどのハウスキーピングを行います。OnDestroyActionMode でアクション モードが閉じられたことを検出します。
私の問題は、一部の ActionModes 内で、ユーザーが別のシステム アクションモード (テキストのコピー/貼り付け/選択) をトリガーする可能性があることです。その場合、 onDestroyActionMode が呼び出され、「スタック」機能を実装するのではなく、ユーザーが最初のアクションモードで完了したと誤って想定しているため、この onDestroyActionMode を無視して、ユーザーにテキストを編集/カット/などさせてから、完了したら以前のアクションモード。
どうすればこれを達成できますか?
android - ActionMode LayoutParams を設定してカスタム ビューを match_parent にする方法は?
カスタム ビューを ActionMode に設定しようとしていますが、親の ActionMode と一致しません。標準の ActionBar と比較して、カスタム ビューを設定する場合、レイアウト パラメータを指定できますが、ActionMode では提供されません。
何か解決策はありますか?
どうもありがとう!