問題タブ [spannablestring]

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.

0 投票する
0 に答える
254 参照

android - BaseAdapter の Android SpannableString

TextView を備えたアダプターがあります。TextView には、テキストがクリック可能かどうかに応じて、String または SpannableString が含まれます。ただし、ビューがリサイクルされると、クリック機能が失われることがあります。SpannableString が再び String になると思います。

これがなぜなのか、または修正方法について何か提案があることを知っている人はいますか? 私はViewHolder(誰かが疑問に思っている場合に備えて)とCustomObject(返す文字列のタイプを処理する)を使用しています。

~~ 編集 ~~

問題は、リンクの文字列を解析する方法にあったことが判明しました。複数のリンクの文字列をチェックし、文字列の最後に到達したかどうかに応じてチェックされるフラグを持っています。ビューがリサイクルされると、フラグはまだ終了に設定されているため、再フォーマットされませんでした (最終的に処理された SpannableString オブジェクトとして CustomObject に格納されているにもかかわらず)。必要に応じて再度処理できるように、フラグをリセットするように設定しました。ただし、時々再処理する必要がある理由はわかりません。

0 投票する
2 に答える
859 参照

android - bulletspan 使用時の行の折り返しが正しくない

私は今2日間問題を解決しようとしていますが、成功していません。

問題は、BulletSpan をテキストに設定し、それを EditText に表示すると、別のテキストを入力し始めるまですべて正常に動作することです。テキストが画面の最後で折り返されると、インデントは機能しますが、カーソルは実際の位置から外れており、前の行の文字がカーソルの後に追加されます。この問題をよりよく説明するには、添付の画像を参照してください。

スパンエラー

また、これはテキストを入力したときにのみ発生すること、ソースにテキストを設定していて、テキストが長すぎて 1 行に収まらない場合にのみ発生することにも言及する価値があります。ラッピングは正常に機能し、余分な文字もカーソル位置も追加されません。間違っている。

また、 LeadingMarginSpan.Standart を試してみましたが、動作は同じでした。

コードでは、開始マークを設定しています:

次に、スパンを設定します。

私はxmlファイルからデータを取得しています。

助けてくれてありがとう

編集: Android 4.1 と 4.4 でこれを試したところ、どちらも同じように動作したことを付け加えるのを忘れています

0 投票する
1 に答える
2356 参照

android - SpannableStringBuilder を使用してイメージスパンを追加した後、EditText (MultiAutoCompleteTextView) でカーソルのサイズが変更されないようにするにはどうすればよいですか?

imagespan チップを追加していない最初の状態は次のとおりです。

ここに画像の説明を入力

ご覧のとおり、カーソルは適切なサイズで配置され、重力が考慮されています。

次に、イメージスパンを追加すると、カーソルが突然このように大きくなります-

ここに画像の説明を入力

なぜこれが起こるのかわかりません。また、それを修正する方法もわかりません。つまり、カーソルを同じサイズに保ちます。

最後にもう一度入力を開始すると、カーソルはフォントのサイズを維持したまますべておかしくなり、スパンも少し下に移動します。カーソルを同じサイズに保ち、中央に配置したい

ここに画像の説明を入力

パディングを使用した textCursorDrawable のサイズ変更を認識しています。それには2つの潜在的な問題があります-1.そのAPI 12+(私たちは9以上をサポートしています)、これは大したことではありません2.プログラムでリセットする方法が見つかりませんでした.xml定義でしかアクセスできませんでした.

何か案は?

0 投票する
2 に答える
70 参照

android - indexOf に複数のオプションを追加する方法

OR 演算子を使用してもう 1 文字追加する方法。このような

0 投票する
4 に答える
1520 参照

android - テキストの末尾にある余分な改行

このメソッドを使用してテキストを設定した後、余分な改行のように見えるものが得られるようですTextView

これらを削除するにはどうすればよいですか? 出力に 2 つの余分な行が追加されるため、レイアウトが歪んでしまいます。

文字列は私のsqliteデータベースに保存されましたHtml.toHtml( editText.getText() ).trim();

初期文字列入力:hello

メッセージ変数のログ出力:<p dir="ltr">hello</p>