![](/img/trans.png)
[英]How to get the currently typed text from edittext using textwatcher?
[英]Android get text typed in EditText
我有一個editText,如何獲取用戶鍵入的文本?
例如,這是我的editText
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="10">
</EditText>
並且用戶鍵入了Hi,在我的下一個活動中如何顯示?如果用戶鍵入了Hi,則在下一個活動Hello中顯示。
我要用什么? 和數據庫有關嗎?
首先,在當前活動(即視圖中托管EditText
組件的活動)中拾取文本。
EditText txt = (EditText)findViewById(R.id.editText3);
String input = txt.getText().toString();
現在,將其添加為額外數據並調用您的新活動。
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("input",input);
startActivity(i);
在NewActivity
onCreate()
里面:
Intent i = getIntent();
String input = i.getStringExtra("input");
瞧,您在新活動中輸入了文本。
要將其設置為新的TextView
:
TextView txtView = (TextView)findViewById(R.id.yourTextView);
txtView.setText(input);
最簡單的方法是使用Intent
的getExtra()
和putExtra()
方法,進行簡單的String
比較並返回結果。
以下是一些入門指南: 如何從Android上的Intent中獲取更多數據? 以及如何比較Java中的字符串? 。
但是從您所寫的內容來看,您似乎正在嘗試創建一個聊天應用程序,其中您的應用程序響應用戶鍵入的消息。 為此,我建議您使用AIML 。 這是一個很長的遠景,但值得。
假設您的班級名稱是: Main
首先聲明一個靜態public String:
public static String myText;
現在,在您的OnCreate方法中鍵入:
EditText et = (EditText) findViewById(R.id.editText3);
最后,在您的OnClick方法中輸入:
myText = getText().toString();
Intent x = new Intent(getApplicationContext(), NewActivity.class);
startActivity(x);
現在,在下一個活動中,您只能使用來訪問字符串:
Main.myText
舉個例子:
TextView txt =(TextView) findViewById(R.id.textviewid);
txt.setText(Main.myText);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.