У меня есть проблема с передачей 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 из намерения:/
это не весь код, но части важны для моей проблемы.
Кто-нибудь может мне помочь?
Внимательно посмотрите свой код
в оформлении заказа Вы написали
nome=intent.getStringExtra(pkg+".myNome");
Замените выше строку кода следующим
nome=getIntent().getStringExtra(pkg+".myNome");
В режиме checkout
попробуйте изменить
Intent intent;
intent=new Intent(getApplicationContext(), scelta.class);
в
Intent intent = getIntent();
И посмотрим, работает ли это.
Кроме того, оба Activity
в одном пакете? Если нет, getPackageName()
будет другим в обоих.
Вы должны использовать getIntent(). GetStringExtra (pkg+ ". MyNome");