1

変数を他のアクティビティに渡すのに問題があります: ここで変数を取得します:

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);
}

ログのおかげで、「nome」には私が望む価値があると確信しています。これは私が「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);}

このログの "no" は常に null です。インテントから myNome を取得できない理由がわかりません:/

これはすべてのコードではありませんが、私の問題にとって重要な部分です。

誰かが私を助けることができますか?

4

3 に答える 3

4

コードを注意深く見てください

in チェックアウト あなたが書いたアクティビティ

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

上記のコード行を次のように置き換えます

nome=getIntent().getStringExtra(pkg+".myNome");
于 2012-05-31T13:08:27.463 に答える
1

checkout、変更してみてください

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

Intent intent = getIntent();

そして、それが機能するかどうかを確認してください。

また、両方ともActivity同じパッケージに入っていますか? そうでない場合は、getPackageName()両方で異なります。

于 2012-05-31T13:11:01.273 に答える
0

getIntent().getStringExtra(pkg+".myNome"); を使用する必要があります。

于 2016-01-08T10:46:35.217 に答える