getText() を使用して情報を取得するのは簡単だったと思います:)
終了方法は次のとおりです。
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識別子で参照されます。これはEditTextフィールドであるため、ユーザーはいつでもその中のテキストを変更できます。私が達成しようとしているのは、ユーザーがgetToastとして識別されるボタンをタップした瞬間に入力したテキストを取得し、それをトーストとして表示することです。
私は現在 Resources クラスを使用して toastText に保存されている文字列を取得していますが、これは役に立ちません。main.xml に保存されているテキストを抽出しているためです。そのビューの :text" 属性を使用する代わりに、"android:hint" を使用して、ユーザーにテキストを入力するように指示しました。
インテントについて読んだことがありますが、同じアクティビティ内ではなく、別のアクティビティに文字列を送信する場合、それは理にかなっています。簡単な作業だと思っていたのですが、思っていたよりも時間がかかっています:P
ところで:
getToastメソッドは、XML で作成されたボタンの「android:OnClickMethod」として定義されます。他のテキスト文字列でも機能します。
何か案は?
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();
}
}
}