web-dev-qa-db-ja.com

Androidでは、プログラムでアクティビティをどのように切り替えますか?

アクティビティ間の切り替えのすべての例では、Intentを作成し、ボタンに関連付けられたOnClickListenerを介してViewのコンテキストを渡す必要があります。

しかし、アクティビティを切り替える必要があると判断した場合はどうなりますか?私の場合、設定値がアクティビティの切り替えを引き起こしています。

関連付けられたOnClickListenerなしでアクティビティを切り替えることができるインテントを作成するにはどうすればよいですか?

32
dicroce

これはあなたのためにそれを行う必要があります:

Intent myIntent = new Intent(this, MyActivityName.class);
startActivity(myIntent);

現在のアクティビティのどこからでも呼び出すことができます。

72
Chris Thompson

コード内の新しいアクティビティを開始する場所によって異なります。新しいアクティビティを開始するには、コンテキスト参照へのアクセスが必要です(例:AsyncTaskのonPostExecute)。 thisをご覧ください。

基本的にこれですが。

 Intent myIntent = new Intent(this, ActivityName.class);
 startActivity(myIntent);

このようなこともあります

Intent myIntent = new Intent(context, ActivityName.class);
context.startActivity(myIntent);
8
diyoda_

一番短いバージョンがあります

startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
5
Xar E Ahmer

PreferenceChangeListenerを使用します:)

2

いつでもアクティビティを切り替えたいとき。これらのコードを呼び出すことができます。

Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);

このコードはPreferenceChangeListenerで作成できます。

2
Srinivas
startActivity (new Intent (Thisactivity.this, Nextactivity.class));

マニフェストにアクティビティを追加することを忘れないでください

<Activity Android:name=".NextActivity>
1
Yamikani Sita

まず、レイアウト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 をご覧ください。

1
Ganesh Garad

このようなメインアクティビティでintentを作成できます

_Intent intent = new Intent(FirstActivity.this, second.class);
startActivity(intent);
_

2番目からの結果を待っている場合は、使用する必要があります

StartActivityforresult(intent,request code)

要求コードには、任意のintegerを使用できます。

1