Lor*_*nzo 0 android android-intent android-activity
我有三个活动:
我必须将var"Name"从登录传递给选择(并且这项工作很好)然后,从选择到输入,这就是我遇到问题的地方:/我可以将名称传递给选择,但是当我尝试传递它时进入,我不能!这很奇怪,因为如果我直接从登录到条目传递变量,它可以工作:/所以:
这是从登录到选择的代码
Intent intent;
String pkg=getPackageName();
intent=new Intent(getApplicationContext(), scelta.class);
//inseriamo i dati nell'intent
String parts[] = risp.split("/");
intent.putExtra(pkg+".myNome", parts[0]);
intent.putExtra(pkg+".myId", parts[1]);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是选择(可能是错误):
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
String nome=intent.getStringExtra(pkg+".myNome");
String Id=intent.getStringExtra(pkg+".myId");
intent.putExtra(pkg+".myNome", nome);
intent.putExtra(pkg+".myId", Id);
TextView tvNome = (TextView) findViewById(R.id.txtNome);
tvNome.setText(nome);
}
//pulsante per il checkin
public void checkin (View v) {
// l'intent di questa activity
Intent intent=getIntent();
String pkg=getPackageName();
//prendiamo i dati
String nome=intent.getStringExtra(pkg+".myNome");
String Id=intent.getStringExtra(pkg+".myId");
//li reinseriamo nell'intent
intent.putExtra(pkg+".myNome", nome);
intent.putExtra(pkg+".myId", Id);
intent=new Intent(getApplicationContext(), entrata.class);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
checkin是我点击按钮从选择到进入的方式时使用的方法.这就是我在Entry中取名的地方:
Intent intent=getIntent(); // l'intent di questa activity
String pkg=getPackageName();
String nome=intent.getStringExtra(pkg+".myNome"); //prendiamo i dati
TextView tvNome = (TextView) findViewById(R.id.nome);
tvNome.setText(nome);
Run Code Online (Sandbox Code Playgroud)
谢谢大家 :)
您将值放在Intent对象中,然后创建了不同的Intent来启动上一个活动.
public void checkin (View v){
Intent intent=getIntent();
//first intent you created.
String pkg=getPackageName();
String nome=intent.getStringExtra(pkg+".myNome");
String Id=intent.getStringExtra(pkg+".myId");
intent.putExtra(pkg+".myNome", nome);
intent.putExtra(pkg+".myId", Id);
//you are adding extra in first intent
intent=new Intent(getApplicationContext(), entrata.class);
// here you again recreated an Intent object second intent
startActivity(intent);
// you are start activity using second intent which do not contain any extra
}
Run Code Online (Sandbox Code Playgroud)
改变这个::
public void checkin (View v){
Intent intent=getIntent();
String pkg=getPackageName();
String nome=intent.getStringExtra(pkg+".myNome");
String Id=intent.getStringExtra(pkg+".myId");
Intent intent1 = new Intent(getApplicationContext(), entrata.class);
intent1.putExtra(pkg+".myNome", nome);
intent1.putExtra(pkg+".myId", Id);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |