Как прочитать значение из строки из файла Java в другой файл - PullRequest
0 голосов
/ 29 октября 2019

У меня есть строковое значение, которое является текстом из EditText, и я хочу использовать это строковое значение в другом действии. В TextView пользователь вводит свое имя, а в следующем упражнении я хочу иметь экран приветствия, на котором написано: Hello, name

package com.example.aprendelastablasdemultiplicar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class pantalla2 extends AppCompatActivity {
    private EditText ingresarnombre;
    private TextView cifracero;
    private TextView cifrauno;
    ingresarnombre =         (EditText)findViewById(R.id.ingresarnombre);
    String nombre = ingresarnombre.getText().toString();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pantalla2);
        cifracero.setText(0);
        cifrauno.setText(1);
    }
}

Ответы [ 2 ]

3 голосов
/ 29 октября 2019

В первом упражнении, в котором вы поместите имя в текст редактирования, просто получите строку из текста редактирования и передайте ее с намерением.

FirstActivity:

public class FirstActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

        EditText edittext = (EditText)findViewById(R.id.edittext);
        String name = edittext.getText().toString();

        Intent intent = new Intent(ActivityOne.this,ActivityTwo.class);
        intent.putExtra("name_extra",name);

        startActivity(intent);

    }
}

На второмдействие просто получает строку дополнительное значение из намерения и работать с ним.

Второе действие:

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String name = getIntent().getStringExtra("name_extra");

    TextView textView = (TextView) findViewById(R.id.textView);

    textView.setText("Welcome "+name);

    }
}
0 голосов
/ 29 октября 2019

Создайте кнопку в вашем pantalla2, чтобы при нажатии кнопки вы могли перейти к другому занятию. И убедитесь, что вы указали идентификатор вашего текстового просмотра и кнопку в activity_pantalla2 Смотрите, это будет работать:

       public class pantalla2 extends AppCompatActivity {
        private EditText ingresarnombre;
        private Button button;
        private TextView cifracero;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_pantalla2);

            cifracero = findViewById(R.id.txtCifracero);
            button = findViewById(R.id.button);

            String cifracero = cifracero.getText().toString().trim();

            button.setOnClickListener(new View.OnClickListener() { 
              @Override
              public void onClick(View view) 
              { 
                Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
                intent.putExtra("key", cifracero);
                startActivity(intent);
              } 
             });  
       }
}

В вашем SecondActivity вам просто нужно добавить текстовое представление в макет и получить значение, отправленное с первого действия.

   public class SecondActivity extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String name = getIntent().getStringExtra("name_extra");

    TextView textView = (TextView) findViewById(R.id.textView);

    textView.setText("Welcome "+name);

    }
}
...