アクティビティ間の切り替えのすべての例では、Intentを作成し、ボタンに関連付けられたOnClickListenerを介してViewのコンテキストを渡す必要があります。
しかし、アクティビティを切り替える必要があると判断した場合はどうなりますか?私の場合、設定値がアクティビティの切り替えを引き起こしています。
関連付けられたOnClickListenerなしでアクティビティを切り替えることができるインテントを作成するにはどうすればよいですか?
これはあなたのためにそれを行う必要があります:
Intent myIntent = new Intent(this, MyActivityName.class);
startActivity(myIntent);
現在のアクティビティのどこからでも呼び出すことができます。
コード内の新しいアクティビティを開始する場所によって異なります。新しいアクティビティを開始するには、コンテキスト参照へのアクセスが必要です(例:AsyncTaskのonPostExecute)。 thisをご覧ください。
基本的にこれですが。
Intent myIntent = new Intent(this, ActivityName.class);
startActivity(myIntent);
このようなこともあります
Intent myIntent = new Intent(context, ActivityName.class);
context.startActivity(myIntent);
一番短いバージョンがあります
startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
PreferenceChangeListenerを使用します:)
いつでもアクティビティを切り替えたいとき。これらのコードを呼び出すことができます。
Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
このコードはPreferenceChangeListenerで作成できます。
startActivity (new Intent (Thisactivity.this, Nextactivity.class));
マニフェストにアクティビティを追加することを忘れないでください
<Activity Android:name=".NextActivity>
まず、レイアウトintro_activity_1.XMLファイルを使用してボタンのUIを作成する必要があります。その後、Android:id = "@ + id/button"を使用してボタングループのIDを設定します
例:
intro_activity_1.xml
<Button Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:background="@Android:color/transparent"
Android:text="NEXT" />
次に、Java最初のアクティビティのクラスを変更します。この例では、Java IntroActivity1.Javaのファイルを変更します
例:
IntroActivity1.Java
//header, import and package data
public class IntroActivity1 extends AppCompatActivity {
Button next_btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intro_activity_1);
next_btn=(Button)findViewById(R.id.button);//button class
next_btn.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
//Start new activity class
Intent myIntent=new Intent(IntroActivity1.this,IntroActivity2.class);
startActivity(myIntent);
}
});
}
アクティビティチェンジャーの詳細については、 https://answerdone.blogspot.com/2018/01/how-to-change-new-activity-in-Android.html をご覧ください。
このようなメインアクティビティでintent
を作成できます
_Intent intent = new Intent(FirstActivity.this, second.class);
startActivity(intent);
_
2番目からの結果を待っている場合は、使用する必要があります
StartActivityforresult(intent,request code)
。
要求コードには、任意のinteger
を使用できます。