2017-05-11 7 views
0

どのように自動でテキストを追加する方法。例:「081339241000.100000」と入力すると正面に「t」、後ろに「.1927」を追加できるので、「t.081339241000.100000.1927」になります。そして ".1927"は変更されていませんが、中央は変更可能です。何か助けてもらえますか?どのように自動的にアンドロイドにテキストを追加する

+0

これをプログラム的にやってみたいと思っていたら、文字列の連結について聞いたことがありますか、 'StringBuilder'を使用していますか?あるいは、あなたの実際のAndroidアプリからこれが起こりたいのですか? –

+0

もし私がそれを行うことができれば私は両方とも上手です。 –

+0

これは簡単なことですか? –

答えて

0
EditText edit =  (EditText)findViewById(R.id.editext1); 
TextView tview = (TextView)findViewById(R.id.textview1); 

edit.addTextChangedListener(new TextWatcher() { 

public void afterTextChanged(Editable s) {} 

public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 

public void onTextChanged(CharSequence s, int start, int before, int count) { 

tview.setText("t."+s+".1927"); 
} 
}); 

}

+0

どこにその式を追加しますか? –

+0

編集テキスト値の変更を観察するためにリスナーを変更しました。また、onTextChangedコールバックではtを追加しています。 .1927を入力値に設定します。 edittextの減速後にどこにでも追加できます。テキスト表示は、デモの場合と同じように省略することができます。 –

2
String someVar = "123123123123123213213"; 
String.format(Locale.US,"t.%s.1927",String.valueOf(someVar)); 

SOMEVARあなたはこのように行うことができ、任意のデータ型

+0

ここでその式を追加しますか? Thx btw –

+0

包括的なコードを投稿してください –

0

かもしれここにこれを試してみてください。例については

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<EditText 
    android:id="@+id/edtText1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:padding="10dp" /> 

<TextView 
    android:id="@+id/txvText2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:padding="10dp" /> 

<Button 
    android:id="@+id/btnDone" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:text="Done" /> 
</LinearLayout> 

MainActivity.java

public class MainActivity extends AppCompatActivity { 
private EditText edtText1; 
private TextView txvText2; 
private Button btnDone; 

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

    edtText1 = (EditText) findViewById(R.id.edtText1); 
    txvText2 = (TextView) findViewById(R.id.txvText2); 
    btnDone = (Button) findViewById(R.id.btnDone); 

    btnDone.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      txvText2.setText("t." + edtText1.getText().toString().trim() + ".1927"); 
     } 
    }); 
} 
} 

それはのEditTextからテキストを取得し、あなたが行ってボタンをクリックしたときのTextViewに設定されます。

+0

私はこのようなことについては初心者ですが、最初からそのフォーミュラを作る方法を説明できますか?私を助けてくれたThx非常に多く –

+0

私は今あなたが試みることができるコードを編集しました。 –

関連する問題