setText для другого действия?

У меня есть кнопка в действии под названием «Домашняя страница». Когда вы нажимаете кнопку, я хочу, чтобы она устанавливала Text в TextView с именем «weaponTitle» в отдельном действии, называемом ItemSelection. Хотя, когда я запускаю setText, он выдает ошибку:

Попытка вызвать виртуальный метод void android.widget.TextView.setText(java.lang.CharSequence) для ссылки на объект null

Это означает, что он не может найти TextView "weaponTitle". Есть ли хороший способ исправить это? Я тоже убедился, что все правильно настроил!

Вот кусочек кода, которым я забыл поделиться!

new displayPrices(weaponTitle, "Genuine Freedom Staff");

person ariagno    schedule 30.12.2015    source источник
comment
Вы должны поделиться кодом для обоих действий. Если вы пытаетесь напечатать что-то из одного действия в другое, используйте намерения для передачи данных.   -  person Hardik Trivedi    schedule 30.12.2015
comment
У вас есть пример кода для намерения? Я пытался найти хороший пример, но не смог найти!   -  person ariagno    schedule 30.12.2015
comment
Вы хотите изменить текст другого действия при переходе к нему?   -  person RockerFlower    schedule 30.12.2015
comment
вы хотите получить текст из ссылки на нулевой объект, это проблема: - stackoverflow.com/questions/27420945/   -  person sumit singh    schedule 30.12.2015
comment
stackoverflow.com/a/7325248/1099716   -  person Access Denied    schedule 30.12.2015
comment
Это не проблема. Я попытался использовать другой TextView внутри основного действия, и он отлично работает. Так что это проблема TextView, а НЕ нулевой объект   -  person ariagno    schedule 30.12.2015
comment
пожалуйста, объясните, когда видна вторая активность   -  person Deepak    schedule 30.12.2015
comment
В коде кнопки выполняются две вещи. Один для установки текста TextView в другом действии, затем он переключается на следующее действие.   -  person ariagno    schedule 30.12.2015


Ответы (4)


попробуй это

Первый класс

 Intent intent = new Intent(getApplicationContext,SecondActivity.class);
        intent.putExtra("KEY",value);
        intent.putExtra("KEY",VALUE);
        startActivity(intent)

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

 Intent intent =getIntent();
 confirm_txt =(TextView)findViewById(R.id.txt);
 String txt_put =intent.getStringExtra("KEY");
 confirm_tId.setText(txt_put);
person Community    schedule 30.12.2015

Внутри конкретного вашего HomePage Activity

Button yourbutton = (Button) findViewById(R.id.your_button_id);
         yourbutton.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
                 Intent intent = new Intent(HomePage.this, ItemSelection.class);
                intent.putExtra("weapontitle",value);
                startActivity(intent);
             }
         });

Oncreate внутри активности ItemSelection

Intent intent =getIntent();
String txt =intent.getStringExtra("weapontitle");
TextView weaponTitle =  (TextView) findViewById(R.id.textview_weaponTitle);
weaponTitle.setText(txt);
person Deepak John    schedule 30.12.2015
comment
Я пробовал это, но по какой-то причине заголовок становится пустым, в нем ничего нет. - person ariagno; 30.12.2015
comment
убедитесь, что значение в намерении.putExtra (оружие, значение); не является пустым, для тестирования хардкора строковое значение для значения, подобного этому, в намерении.putExtra (оружие, тестовая строка); - person Deepak John; 31.12.2015

пройти этот путь,

передать это из вашего первого действия,

Intent i = new Intent(Login.this, ChangePasswordActivity.class);
        i.putExtra("savedUser", savedUser);
        Log.e("username", "--->>" + savedUser);
        startActivity(i);

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

Intent extras = getIntent();
        savedUser = extras.getStringExtra("savedUser");
        Log.e("savedUser", "--->>" + savedUser);

Теперь вы можете установить текст так, как вы его получили, в другом действии.

etUsername.setText(userName);
person Amit Vaghela    schedule 30.12.2015

  Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        intent.putExtra("weaponTitle","Genuine Freedom Staff");
        startActivity(intent);

Во втором упражнении вы делаете:

Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String weaponName = bundle.getString("weaponTitle");



TextView textView = (TextView) findViewById(R.id.textView);
   textView.setText(weaponName);
person Arnold Balliu    schedule 30.12.2015