1)Suppose need to pass value from MainActivity to SubActivity.We will first make xml of both Activity:
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/etFirst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Name"/>
<Button
android:id="@+id/btnClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/etFirst"
android:text="@string/click"
android:layout_marginTop="20dp"/>
</RelativeLayout>
activity_sub.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="value.com.valuebundle.SubActivity">
<TextView
android:id="@+id/tvShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
2)Now in MainActivity,onCreate will be:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etFirst=(EditText)findViewById(R.id.etFirst);
btnClick=(Button)findViewById(R.id.btnClick);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle=new Bundle();
bundle.putString("first",etFirst.getText().toString());
Intent intent=new Intent(MainActivity.this,SubActivity.class);
intent.putExtras(bundle);
startActivity(intent);
}
});
}
Here we are asking user to enter value in EditText and on a Button click,we are passing that value from MainActivity to SubActivity through Bundle and putting that Bundle in Intent.
3)Now in SubActivity,onCreate will be:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
tvShow=(TextView)findViewById(R.id.tvShow);
Bundle bundle=getIntent().getExtras();
String first=bundle.getString("first");
tvShow.setText("welcome"+" "+first);
}
Here we have received the Bundle by Bundle bundle=getIntent().getExtras() and set it in TextView.
That's it.Hope it helps:)
0 Comment(s)