0

editText があります。ユーザーが入力したテキストを取得するにはどうすればよいですか?

例、これは私の editText です

<EditText
   android:id="@+id/editText3"
   android:layout_width="match_parent"
   android:layout_height="wrap_content" 
   android:maxLength="10">
</EditText>

次のアクティビティでユーザーが「こんにちは」と入力したユーザーが次のアクティビティで「こんにちは」と入力した場合、どのように作成すればよいですか?

何を使う?それはデータベースに関連していますか?

4

3 に答える 3

3

まず、現在のアクティビティ、つまりビューが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);

NewActivityonCreate(): _

Intent i = getIntent();
String input = i.getStringExtra("input");

ほら、新しいアクティビティに入力したテキストがあります。

これを new に設定するにはTextView:

TextView txtView = (TextView)findViewById(R.id.yourTextView);
txtView.setText(input);
于 2012-08-19T06:44:34.493 に答える
1

クラスの名前が:であると仮定しましょう。Main

最初に静的パブリック文字列を宣言します:

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);
于 2012-08-19T08:11:03.713 に答える
1

最も簡単な方法は、 と メソッドを使用し、単純な比較を行っIntentgetExtra()結果putExtra()String返すことです。

ここから始めましょう : Android でインテントから追加のデータを取得するにはどうすればよいですか? Javaで文字列を比較するにはどうすればよいですか? .

しかし、あなたが書いたことから、アプリケーションがユーザーが入力したメッセージに応答するチャット アプリケーションを作成しようとしているようです。このために、AIMLを使用することをお勧めします。それは長い長いショットですが、それだけの価値があります。

于 2012-08-19T06:46:40.543 に答える