Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
914 views
in Technique[技术] by (71.8m points)

android - Bundle.putInt() , how does it work?

I am still learning android and I in a tutorial

 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
     long arg3) {
         // TODO Auto-generated method stub
         int id_To_Search = arg2 + 1;
         Bundle dataBundle = new Bundle();
         dataBundle.putInt("id", id_To_Search);
         Intent intent = new Intent(getApplicationContext(),com.example.addressbook.DisplayContact.class);
         intent.putExtras(dataBundle);
         startActivity(intent);
     }
     });

My problem is here I didn't understand how this works

dataBundle.putInt("id", id_To_Search);

if id_To_Search = 0 then id = 0 ? and id refer to the column name ?

android site explains

 putInt(String key, int value)
Inserts an int value into the mapping of this Bundle, replacing any existing value for the given key. 

as far I understand, if int = 5 then key will be 5 ? then 'Id' it will be = 5 ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

1) You can share int with other activity like this :

String YOUR_KEY = "id";
Intent intent = new Intent(getApplicationContext(), DisplayContact.class);
intent.putExtra(YOUR_KEY, id); 
startActivity(intent);

or

Bundle dataBundle = new Bundle();
dataBundle.putInt(YOUR_KEY, id);
intent.putExtras(dataBundle);

2) And get int in your activity like that :

int defaultValue = 0;
int id = getIntent().getIntExtra(YOUR_KEY, defaultValue);

or

Bundle extras = getIntent().getExtras(); 
int id = extras.getInt(YOUR_KEY);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...