web-dev-qa-db-ja.com

ある画面から別の画面に移動する方法

あるアクティビティ画面から別のアクティビティ画面に移動する方法は?最初の画面では、ボタンをクリックすると別のアクティビティ画面に移動する必要があるボタンが1つあります。

34
Kumar
OnClickListener onClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(action));
    }
};

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
13
Chiwai Chan

最も些細なケース(アクティビティから呼び出される):

startActivity(new Intent(this, ActivityToLaunch.class));

詳細はこちら: http://developer.Android.com/guide/topics/fundamentals.html

17
yanchenko
Button x.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) 
                {
                    Intent i = new Intent(y.this, Activity.class);
                    startActivity(i);                   
                }
        });

ここで、Button xのリスナーを定義しました。 OSはこのメソッドを呼び出し、Intent iで参照されるアクティビティを開始します。

公式のチュートリアル例を次に示します。 http://developer.Android.com/guide/tutorials/notepad/notepad-ex2.html

16
Will
Button btn = (Button)findViewById(R.id.button1);

btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {      

        startActivity(new Intent(TestActivity.this,second.class));

    }
});
10
G.S. Shekhawat
public void onClick(View v) 
{
    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               
}
7
kusuma

このタスクは、Intentsという名前のAndroidのメインビルディングブロックの1つと、Activityクラスに属するpublic void startActivity (Intent intent)メソッドの1つを使用して実行できます。

インテントは、実行される操作の抽象的な記述です。 startActivityと共に使用してActivityを起動し、broadcastIntentを使用して関連するBroadcastReceiverコンポーネントに送信し、startService(Intent)またはbindService(Intent、ServiceConnection、int)を使用してバックグラウンドサービスと通信できます。

インテントは、異なるアプリケーションのコード間で実行時バインディングを実行する機能を提供します。その最も重要な用途は、アクティビティの起動であり、アクティビティ間の接着剤と考えることができます。基本的に、実行されるアクションの抽象的な記述を保持する受動的なデータ構造です。

公式ドキュメントを参照してください- http://developer.Android.com/reference/Android/content/Intent.html

public void startActivity (Intent intent)-新しいアクティビティを起動するために使用されます。

したがって、2つのActivityクラスがあり、ボタンのクリックでOnClickListener()を使用して、1つのActivityから別のActivityに移動するとします-

  1. PresentActivity-これは、2番目のアクティビティに移動する現在のアクティビティです。

  2. NextActivity-これは、移動する次のアクティビティです。

そのため、インテントは次のようになります

_Intent(PresentActivity.this, NextActivity.class)
_

最後に、これは完全なコードになります

_  public class PresentActivity extends Activity {
        protected void onCreate(Bundle icicle) {
            super.onCreate(icicle);

            setContentView(R.layout.content_layout_id);

            final Button button = (Button) findViewById(R.id.button_id);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    // Perform action on click   

                    Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);

                    // currentContext.startActivity(activityChangeIntent);

                    PresentActivity.this.startActivity(activityChangeIntent);
                }
            });
        }
    }
_

この例は、ボタンクリックに関連しています。ボタンクリックのOnClickListener()内に記述されたコードは、アクティビティを切り替えたい任意の場所で使用できます。

4
Nikhil Agrawal
final Context cont = this;
Button btnClickABC =(Button)findViewById(R.id.btnClickABC);
btnClickABC.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {                   
                startActivity(new Intent(cont, NextActivity.class));

            }
        });
4
Azhar

次のコードを使用してください。これがあなたのお役に立てば幸いです。

 Button button = (Button)findViewById(R.id.xxx);
    button .setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
        Intent intent=new Intent(CurrentActivity.this,NextActivity.class);
        startActivity(intent);
        }
    });

xxxは、ボタンのxmlからのIDです。

3
Umesh

あるアクティビティから別のアクティビティへの切り替えは非常に簡単ですが、新しいアクティビティには注意が必要です。次のクラスは、AndroidManifest.xmlで定義する必要があります。これはテスタークラスです。

<activity
  Android:name=".Tester"
  Android:label="@string/title_activity_tester" >`enter code here`
</activity>


final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(CurrentClass.this, Tester.class);
        startActivity(i);
    }
1
Ayaz Akbar
startActivity(new Intent(this,newActivity.class));
1
Mostafiz

次のコードスニペットを使用して、次の画面に移動できます。

Kotlin

startActivity(Intent(this, LoginActivity::class.Java))

Java

startActivity(new Intent(this, LoginActivity.class))

リファレンスは次のとおりです。 Android Developers-別のアクティビティを開始する

0
superm0