2011-08-26 21 views
25

テキストをEditTextフィールドからテキストをインテントのある電子メールコンポーザに挿入する際に問題があります。私は(@ + ID/vnosEmaila)レイアウトファイルにEditTextフィールドを宣言した:EditTextフィールドのAndroid getText

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/navodiloEmail" 
    android:text="@string/navodiloEmail" 
    android:textSize="15dip"/> 
<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/vnosEmaila" 
    android:layout_below="@id/navodiloEmail"/> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/navodiloZadeva" 
    android:text="@string/navodiloZadeva" 
    android:layout_below="@id/vnosEmaila" 
    android:textSize="15dip"/> 
<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/vnosZadeve" 
    android:layout_below="@id/navodiloZadeva"/> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/navodiloBody" 
    android:text="@string/navodiloBody" 
    android:layout_below="@id/vnosZadeve" 
    android:textSize="15dip"/> 
<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/vnosBody" 
    android:layout_below="@id/navodiloBody"/> 
<Button 
    android:id="@+id/klicIntentEmail" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/sestaviEmail" 
    android:onClick="sestaviEmail" 
    android:layout_below="@id/vnosBody"/> 
</RelativeLayout> 

ボタンが "sestaviEmail" のonClickメソッドを呼び出して、私はそれを宣言している:私はちょうど示すよ

public void sestaviEmail (View view){ 
    CharSequence test = getText(R.id.vnosEmaila); 
    Toast toast = Toast.makeText(EmailGumb.this, test, Toast.LENGTH_LONG); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
    } 

をそれはトーストと速いので、私はフィールドからテキストを取得しようとするたびに、私は "偽"を取得します。私が見つけた他のすべての質問には、レイアウトではなくメソッドでButtonを宣言したコードがありました。これはおそらく問題の一部ですか?

+0

[編集テキストフィールドの値を取得する](http://stackoverflow.com/questions/4531396/get-value-of-a-edit-text-field) – Mafro34

答えて

76

サンプルコード。

EditText text = (EditText)findViewById(R.id.vnosEmaila); 
String value = text.getText().toString(); 
+2

'text.getTExt()'がnullを返す可能性が常にあるという警告があります。これを確認するための短くて簡潔な解決策がありますか? (それもきれいな読み取り可能なコードのように見えますか?) –

+0

@DavidT私は状況が嫌いですが、 'Editable editable = text.getText();'を宣言して、 'value = editable == null? "":editable.toString(); '(または必要なデフォルト/ロジック)。 – async

4

はこれを試してみてください -

EditText myEditText = (EditText) findViewById(R.id.vnosEmaila); 

String text = myEditText.getText().toString(); 
-1

使用この:EditTextからテキストを取得する方法について

setContentView(R.layout.yourlayout); 

    //after setting yor layout do the following 
    EditText email = (EdiText) findViewById(R.id.vnosEmaila); 
    String val = email.getText().toString; // Use the toString method to convert the return value to a String. 

    //Your Toast with String val; 
    Toast toast = Toast.makeText(EmailGumb.this, val, Toast.LENGTH_LONG); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 

おかげ

+2

email.getText()は使用できませんString ... – Fortega

+0

あなたのemail.getText()に.toString()コールがありません! – Marko

1

これはウルの問題を解決します試してみてください....

EditText etxt = (EditText)findviewbyid(R.id.etxt); 
String str_value = etxt.getText().toString(); 
10

これを試してみてください。

EditText editText=(EditText)findViewById(R.id.vnosZadeve); 
String text=editText.getText().toString(); 

、あなたはトースト文字列のテキストをすることができます:あなたは、単にコードの下に適用することにより、EDITTEXT内のテキストを取得することができます

EditText text = (EditText)findViewById(R.id.edittext1); 
String str = text.getText().toString().trim(); 
-2
EditText txt = (EditText)findviewbyid(R.id.txt); 

Editable str = txt.getText().toString(); 

Toast toast = Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG); 

toast.show(); 
+0

これは本質的に既存の回答を繰り返すことです。 – Pang

0

ハッピーコーディング!

関連する問題