Не могу передать переменную в другой вид деятельности

1

У меня есть проблема с передачей var для другого действия: вот где я беру переменную:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.scelta);               
    // l'intent di questa activity
    Intent intent=getIntent();
    String pkg = getPackageName();
    //prendiamo i dati         
    nome=intent.getStringExtra(pkg+".myNome");

Здесь я меняю деятельность:

public void checkout (View v){
    // l'intent di questa activity
    Intent intent;
    String pkg=getPackageName();
    intent=new Intent(getApplicationContext(), checkout.class);
    //li reinseriamo nell'intent
    intent.putExtra(pkg+".myNome", nome);
    intent.putExtra(pkg+".myId", id);

    Log.d(TAG,"questo è il nome che va ad instargh:"+nome);
    startActivity(intent);
}

благодаря журналу я уверен, что "ном" имеет значение, которое я хочу. Вот где я беру "myNome",

public class checkout<targhe> extends ListActivity
{String sId=null;
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.checkout); 
    Intent intent;
    String pkg=getPackageName();                    
    intent=new Intent(getApplicationContext(), scelta.class);
    nome=intent.getStringExtra(pkg+".myNome");
    Log.D(TAG,"name"+nome);}

с этим Log "nome" всегда имеет значение null. Я не понимаю, почему я не могу взять myNome из намерения:/

это не весь код, но части важны для моей проблемы.

Кто-нибудь может мне помочь?

  • 0
    это не имеет ничего общего с ответом, но скажите, действительно, у вас есть требование использовать не-английские имена ваших переменных или это ваше личное желание?
Теги:
android-intent

3 ответа

4

Внимательно посмотрите свой код

в оформлении заказа Вы написали

nome=intent.getStringExtra(pkg+".myNome");

Замените выше строку кода следующим

nome=getIntent().getStringExtra(pkg+".myNome");
  • 0
    Спасибо :) сейчас функционируют все: D
  • 0
    Если это решит вашу проблему, вы должны закрыть его, приняв его как принятый ответ.
1

В режиме checkout попробуйте изменить

Intent intent;                  
intent=new Intent(getApplicationContext(), scelta.class);

в

Intent intent = getIntent();

И посмотрим, работает ли это.

Кроме того, оба Activity в одном пакете? Если нет, getPackageName() будет другим в обоих.

0

Вы должны использовать getIntent(). GetStringExtra (pkg+ ". MyNome");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню