2015-04-17 2 views
-4

я все еще учусь андроида и я в учебникеBundle.putInt(), как он работает?

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

Моя проблема здесь я не понимаю, как это работает

dataBundle.putInt("id", id_To_Search); 

если id_To_Search = 0, то идентификатор = 0? и id ссылаются на имя столбца?

андроида сайт объясняет

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

, насколько я понимаю, если INT = 5, то ключ будет 5? , тогда «Id» будет = 5?

ответ

1

1) Вы можете поделиться int с другой деятельностью, как это:

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

или

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

2) И получить int в вашей деятельности, как, что:

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

или

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

да, я понимаю, как работают намерения, я имею в виду bundle.putint – Baalback

+0

Intent содержат пучок, это то же самое! Покажите мой ответ –

1

Это exaclty, что вы сказали

, насколько я понимаю, если INT = 5, то ключ будет 5? то «Id» будет = 5?

Итак, когда вы входите в другой вид деятельности, здесь

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

Вы можете сделать int id = getIntent().getIntExtra("id");, и будет 5

Смежные вопросы