Android隱性傳值初識
阿新 • • 發佈:2019-02-16
1、傳送端程式碼
public void go(View view) { Intent intent = new Intent(); Bundle bundle = new Bundle(); User user = new User(); user.setAge(99); user.setName("Li"); // intent.putExtra("name","zhang"); // intent.putExtra("age",100); intent.setAction("user1"); bundle.putSerializable("user",user); intent.putExtras(bundle); startActivity(intent); }
2、接收端接受全送過來的值
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //Intent intent = this.getIntent(); // String name = intent.getStringExtra("name");// int age = intent.getIntExtra("age", 120); // Log.i("dong", "onCreate....main2..."+name+".."+age); Intent intent = this.getIntent(); User user = (User)intent.getSerializableExtra("user"); Log.i("dong", "onCreate....main2..."+user.getName()+".."+user.getAge()); }
3、注意選擇serializable介面可以傳送一物件
4、隱性傳值必須在xmlz這樣寫
<activity android:name=".Main2Activity"> <intent-filter> <action android:name="user1"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> </activity>
上面是今天自己下課摸索的,晚上回去再寫點其他難一點的。