2016-10-17 33 views
0

アンドロイドのEditTextのの特定の行にテキストを設定したり、テキストを追加したいですか?利用可能な方法はありますか?アンドロイドの複数行のEditText内の特定の行にテキストを設定または追加する方法は?

私が知っているように、setTextは全体のテキストを上書きし、appendは最後にテキストを追加します。私は何をしたいのですか?

私は特定の行からテキストを読み込んで取得する方法を知っていますが、その下の行と上の行を乱さずにそのテキストを変更する方法はありますか?

+0

**必要な条件で既存のテキストを変更するには、** onLongClickListener()**を使用することをお勧めします。 –

+0

ダウンボートは何ですか?質問には何が間違っていますか? –

+1

一時的な文字列に古い文字列を格納し、文字列を修正する文字列を追加します。 –

答えて

2

1)EditText#getText();

2を使用してEditTextからEditableを取得する)は、前の手順で取得しましたEditableへの変更を行います。

Editableには、方法insert(int where, CharSequence text)があります。目的の場所に挿入するために使用します。

3)EditText#setText();を使用してEditTextに戻し、それを設定する(Editable BACKを変形WHOLEを設定)

あなたがラインの看板の終わりは、あなたが受け取ったEditableであるところを知りたい場合は、新しい行のためにそれを検索しますあなたはEditTextで指定された特定の行に挿入する場合は、EditTextの "alligning engine"に移動する必要があります。どのように詳細がわからないので、ソースコードを読んでおく必要があります。

+0

それを元に戻す方法、それは質問です。setTextを使用すると、editText全体を上書きします。最後に追加するだけで、複数行の特定の行にテキストを設定または追加する方法を知りたいです。 –

+1

@KrzysztofCichockiはテキストを編集するよう提案しています変更を加えた後、コンテンツ全体を元に戻すことができます。 EditTextに12456のテキストがある場合と同様に、最初にテキスト全体をプルし、その間に3を追加し、123456をEditTextに戻します。あなたは基本的にテキストコンテンツ全体を上書きしています –

+0

親切にdownvoteを説明しますか? –

0

複数行のテキストは改行で区切られますし、あなたが取得することによって追加することができますエディットテキストのコンテンツを追加したいfは以下のコードは、あなたの明確化

​​

そして私を与えるだろうおそらくEditText値と何が必要文字列を追加し、あなたがこのタイプコード

を使用してみてください

etMultiLine.setText("Edited Text");

1

下のようにそれをバックに設定することができます ​​

、あなたはこのコード

menu1.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      edt_Text.getText().insert(6, "are"); 
     } 
    }); 

をしたい新しい文字を追加するために、ボタンのonClickを設定するには、今、あなたは、文字から行を見つけ、このメソッドを使用してテキストを挿入する必要があり、特定の文字ベース

ためです。

これがあなたに役立つことを願っています。

関連する問題