user interface is displayed through an activity(Screen). Activity is used to represent the data to user and allows user interaction. In an android application, we can have multiple activities and they can interact with each other
Interaction between multiple activities can be done only using Intent. Intents are objects of theandroid.content.Intent type. Your code can send them to the Android system defining the components you are targeting. In Android app development you face situations where you want to send or receive your data between one Activity (Screen) to another.
Calling one Activity from another in Android
Define an intent that will be sent to Activity2:
|
Current activity Activity1 and the one you wish to open - Activity2.
Sample
Intent intent = new Intent(HomeActivity.this, EntriesActivity.class); startActivity(intent);
Button entriesButton = (Button)findViewById(R.id.btnEntries); entriesButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(HomeActivity.this, EntriesActivity.class); startActivity(intent); } });
pass data between activities on Android
In your current Activity, create a new Intent:Intent i = new Intent(getApplicationContext(), NewActivity.class); i.putExtra("key","value"); startActivity(i);
Then in the new Activity, retrieve those values:Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); //The key argument here must match that used in the other activity }
Use this technique to pass variables from one Activity to the other.SampleCurrent activitybtnGenerate=(Button)findViewById(R.id.btnGenerate); btnGenerate.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { Intent myIntent = new Intent(RptsalesreportActivity.this, RptsalesreportdisplayActivity.class); myIntent.putExtra("day", "12"); myIntent.putExtra("month", "2"); myIntent.putExtra("year", "2017"); startActivity(myIntent); } });New activityIntent intent = getIntent(); String day = intent.getStringExtra("day"); String month = intent.getStringExtra("month"); String year = intent.getStringExtra("year");value access by using getIntent() method.Android Call An Activity class from a java class
Pass string value and Current Activity Context to function menuActions in Genfunctions class.Java class like thispackage com.example.root.calendar; import android.content.Context; import android.content.Intent;
public class Genfunctions { public void menuActions(String title,Context ct){ //this.context=context; switch (title){ case "ENTRIES": Intent intent = new Intent(ct, RptentrylistActivity.class); ct.startActivity(intent); break; }
}//end of functions }
Activity Class function call like thisGenfunctions gn = new Genfunctions(); gn.menuActions("ENTRIES",this);
No comments:
Post a Comment