2012-06-12 67 views
0

所以我想這是一個簡單使用的getText()來檢索信息:)如何從一個EditText視圖中提取文本 - Android電子

這裏是如何結束:

public void getToast(View v) { 
    EditText et = (EditText) findViewById(R.id.userText); 
    String toastText = et.getText().toString(); 
    if (toastText == "" || toastText == null) { 
     Toast.makeText(this, "This is a nice toast!", Toast.LENGTH_SHORT).show(); 
    } 
    else { 
    Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show(); 
    } 
} 

我已在主佈局文件上創建了一個EditText視圖。這與userText標識符有關。由於這是一個字段,用戶可以隨時修改其中的文本;我試圖完成的是檢索用戶在點擊標識爲getToast的按鈕時輸入的文本,然後將其顯示爲Toast。

我現在用的是資源類的那一刻(我的第一個猜測?)來檢索下toastText存儲字符串,但這是沒用的,因爲它是提取存儲在main.xml中的文字 - 裏面是空的,因爲我沒有爲該視圖聲明「android:text」屬性,而是使用了「android:hint」來告訴用戶輸入文本。

我已經閱讀過有關意圖的內容,但如果我要將字符串發送到另一個活動,而不是在同一個活動內,這種說法纔有意義。我原以爲它作爲一個簡單的任務,但它消耗更多的時間,我有希望:P

BTW:

getToast方法定義爲「機器人:OnClickMethod」爲創造一個按鈕在XML上。它將與任何其他字符串一起工作。

任何想法?

package com.testlabs.one; 

import android.app.Activity; 
import android.content.res.Resources; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 

public class initialui extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
} 

public void getToast(View v) { 
    Resources myResources = getResources(); 
    String toastText = myResources.getString(R.string.toast); 
    if (toastText == "" || toastText == null) { 
     Toast.makeText(this, "This is a nice toast!", Toast.LENGTH_SHORT).show(); 
    } 
    else { 
    Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show(); 
    } 
} 
} 

回答

5

您只需在TextView上調用函數getText()即可。

例子:

public void getToast(View v) 
{ 
    String toastText = ((EditText)v).getText(); 
    if (toastText.length() == 0) { 
     toastText = getResources().getString(R.string.toast); 
    } 
    Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show(); 
} 

該代碼會顯示在你的EditText文字敬酒時,可用它,並在toast資源默認的文本中輸入任何內容時。

+0

感謝的人,我覺得像這樣一個douchebag :( ,雖然沒有工作,我得到Toast在View上顯示文本:) –

0

如果你只是想通過一個Intent

Intent intent = new Intent(); 
intent.putExtra("key","stringValue"); 
startActivity(intent); 

從一個活動到另一個發送一個字符串,然後在你的其他活動

Intent intent = getIntent(); 
String value = intent.getStringExtra("key","defaultstring"); 
0

我想這:

EditText et = (EditText) findViewById(R.id.userText); 
String toastText = et.getText().toString(); 

應該是這樣的:

String toastText = findViewById(R.id.userText).toString(); 

如果沒有,我想知道爲什麼你需要使用的中間階段,而不是把它轉換直接到Java String對象

相關問題