单击按钮更改EditText

时间:2017-10-28 09:53:56

标签: android onclick android-edittext

我有问题。我想从除按钮之外的其他活动更改EditText字段中的文本。

这是我的主要xml:

  public void onClicknews(View v) {
    Intent intent = new Intent(getApplicationContext(), NewsActivity.class);
    String titel1 = "Trumps brutales Kalkül";
    EditText news = (EditText) findViewById(R.id.news);
    EditText article = (EditText) findViewById(R.id.articlename);
    String s = article.getText().toString();
    if (s.equalsIgnoreCase(titel1)){
        news.setText("Hallo");
    }
    startActivity(intent);
}

这是我的MainActivity按钮所在的位置:

 <EditText
    android:id="@+id/news"
    android:layout_width="350dp"
    android:layout_height="407dp"
    android:layout_marginBottom="23dp"
    android:layout_marginEnd="11dp"
    android:layout_marginStart="11dp"
    android:clickable="false"
    android:cursorVisible="false"
    android:ems="10"
    android:focusable="false"
    android:inputType="textMultiLine"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

这是我的第二个xml,其中EditText是:

{{1}}

我知道有类似的问题,但没有一个解决方案帮助过我。

2 个答案:

答案 0 :(得分:0)

没有安全的方法只使用Android流程。 Android系统总是可以销毁目前看不到的活动,因此您的EditText可能不存在。 您可以使用dagger创建Singleton或dependency以在活动之间保存数据。

答案 1 :(得分:0)

在您的MainActivity.java中:

public void onClicknews(View v) {

   String titel1 = "Trumps brutales Kalkül";

   EditText article = (EditText) findViewById(R.id.articlename);
   String s = article.getText().toString();
   Intent intent = new Intent(getApplicationContext(), NewsActivity.class);
   intent.putExtra("articalName",s);
   startActivity(intent);
}

在你的NewsActivity.java中:

EditText news = (EditText) findViewById(R.id.news);

String newsName = getIntent().getStringExtra("articalName");

news.setText(newsName );