0

私はAndroidを始めています。別のクラスからデータを取得したい。いくつかのコードを書きましたが、うまくいきませんでした。私を助けてください。

最初のアクティビティ:

Button b1=(Button) findViewById(R.id.search);

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
        Intent a=new Intent(CActivity.this,Db.class);
        a.putExtra("data",bcode);
         startActivity(a);
        }});

2 番目のアクティビティ:

Bundle extra=getIntent().getExtras();
    {
    dContents=extra.getString("data");
    }
4

6 に答える 6

0

2 番目のアクティビティで、すべてのコードを削除してインテントからデータを取得し、これを試します

dContents = getIntent().getStringExtra("data");

データは文字列だと思います。

于 2013-07-17T08:37:18.360 に答える
0

試す:

// store data to be pass to next activity
Intent mIntent = new Intent(this, SecondActivity.class);
mIntent.putExtra("key", yourString);
startActivity(mIntent);


// extract data from previous activity
if (getIntent() != null) {
String mString = getIntent().getExtras().getString("key");
    // do what you going to do with string.
} else {
    Toast.makeText(getApplicationContext(), "getIntent() = null", Toast.LENGTH_LONG).show();
}

Bundle を使用して文字列を取得する場合は getStringExtra() を使用し、Intent を使用してデータを取得する場合は getString() を使用する必要があると思います。

于 2013-07-17T09:16:45.090 に答える
0

これは私に働いています

最初のアクティビティ (データを設定してアクティビティを開始)

           String shocode="0003";
           String shopname="CCT";
           Intent i = new  Intent(getApplicationContext(),Frame_unproductuv.class);       
                    i.putExtra("shopcode", shocode);
                    i.putExtra("shopname", shopname);
                    startActivity(i);

2 番目のアクティビティ (データの取得)

              Intent intent = getIntent();
              Bundle b = intent.getExtras();
              route_name = b.getString("shopname");
于 2013-07-17T08:51:38.790 に答える
0

試す

dContents=getIntent().getStringExtra("data");

それ以外の

Bundle extra=getIntent().getExtras();
    {
    dContents=extra.getString("data");
    }

お役に立てれば。

于 2013-07-17T08:37:28.957 に答える