Значение из действия A в действие B, возвращающее ноль - PullRequest
2 голосов
/ 07 февраля 2012

Я пытаюсь получить информацию из Activity B в Activity A, проблема в том, что полученное мной значение по какой-то причине возвращает null.Мой код показывает, сколько раз вы нажимаете Button и возвращаете значение в мой первый Activity, по крайней мере, это то, что он должен делать.Если кто-то увидит мою ошибку, скажите, пожалуйста, у меня урок через 5 часов: \

returned.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Intent intent = new Intent(Next.this, Hw3Activity.class);
                intent.putExtra("text", counted.getText().toString());
                startActivity(intent);
/*Next is the current activity, Counted is the name of my text box*/
            }
        });
        click.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                counter++;
            }

Это - Activity, я хочу передать информацию.

Button change;
    TextView text;
    int number;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        change = (Button) findViewById(R.id.change);
        text = (TextView) findViewById(R.id.count);

        String s1 = getIntent().getStringExtra("Textview01");
        text.setText("You clicked the button " + s1 + " times.");

        change.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), Next.class);
                startActivityForResult(intent, 0);
/*this button is for going to the 2nd activity,not my problem currently*/
            }
        });
    }

}

Ответы [ 3 ]

2 голосов
/ 07 февраля 2012

В Activity, где вы хотите получить информацию, произошла ошибка. Вам нужно поставить "text" вместо "Textview01".

Вы можете использовать следующее с контролем ошибок.

Bundle extras = getIntent().getExtras();
if( extras != null){
   String text = extras.getString("text");
}
2 голосов
/ 07 февраля 2012

вот что вы делаете неправильно:

String s1 = getIntent().getStringExtra("Textview01");

я считаю, что это должно быть:

String s1 = getIntent().getStringExtra("text");
0 голосов
/ 07 февраля 2012

попробовать String s1 = getIntent().getStringExtra("text");

Поскольку вы отправляете тег строкового значения как "text".

...