0

フィールドから値を取得し、edittextそれを別のアクティビティに文字列として渡したいと考えています。以下のようにしました。うまくいっていると思いますが、変数の値が実際に渡されたかどうかを確認するためにテキストを出力できるようにしたいと思います

しかし、入力Log.d("PJM",value);すると、アクティビティがエラーで閉じます

MainScreen アクティビティ

public class MainScreen extends Activity {

Button btnSearch, btnFavourites;
EditText enterDefinition;
Editable word;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_screen);

    btnSearch=(Button)findViewById(R.id.btnSearch);
    btnFavourites=(Button)findViewById(R.id.btnFavourites);
    enterDefinition=(EditText)findViewById(R.id.enterDefinition);

    String text = enterDefinition.getText().toString();

    Intent i = new Intent(this, Definition.class);
    i.putExtra("KEY",text);
    //startActivity(i);

    //Intent i = new Intent(this, Definition.class);
    //i.putExtra("text_Label",theText);
    //startActivity(i);

定義活動

public class Definition extends Activity {

Button btnSend, btnSaveFave, btnReturn;
EditText enterDefinition;
String value;
TextView definition;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_definition);

    btnSend=(Button)findViewById(R.id.btnSend);
    btnSaveFave=(Button)findViewById(R.id.btnSaveFave);
    btnReturn=(Button)findViewById(R.id.btnReturn);
    enterDefinition=(EditText)findViewById(R.id.enterDefinition);
    definition=(TextView)findViewById(R.id.tvDefinition);

    definition.setText("some text");

    Bundle extras = getIntent().getExtras();
    String value = null; 
    if (extras != null) {
      value = extras.getString("KEY");
    }
    else {
      value = "None";
    }
    Log.d("text entered", value);
    Toast.makeText(getBaseContext(), value, Toast.LENGTH_LONG).show();
4

1 に答える 1

1

あなたがしたい:

String value = null; 
if (extras != null) {
  value = extras.getString("KEY");
}
else {
  value = "None"
}
Log.d("PJM", value);
于 2013-04-17T11:29:16.977 に答える