あるアクティビティ画面から別のアクティビティ画面に移動するにはどうすればよいですか?最初の画面では、ボタンをクリックすると別のアクティビティ画面に移動する必要があるボタンが1つあります。
18 に答える
最も些細なケース (アクティビティから呼び出される):
startActivity(new Intent(this, ActivityToLaunch.class));
詳細はこちら: http://developer.android.com/guide/topics/fundamentals.html
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(action));
}
};
Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
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
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));
}
});
public void onClick(View v)
{
Intent myintent = new Intent(currentclass.this, nextactivity.class);
startActivity(myintent);
}
このタスクは、Intents という名前の Android のメイン ビルディング ブロックの 1 つと、public void startActivity (Intent intent)
Activity クラスに属するメソッドの 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 に移動したいとします。
PresentActivity -- これは、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()
、アクティビティを切り替えたい任意の場所で使用できます。
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));
}
});
次のコードを使用してください。これがお役に立てば幸いです。
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 です。
startActivity(new Intent(this,newActivity.class));
次のコード スニペットを使用して、次の画面に移動できます。
コトリン
startActivity(Intent(this, LoginActivity::class.java))
ジャワ
startActivity(new Intent(this, LoginActivity.class))
ここに参照があります: Android 開発者 - 別のアクティビティの開始
このコードを試してください:
Button my_btn;
my_btn = findViewById(R.id.submit_btn);
my_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.activity_2);
}
});
Cartoon_card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
newActivity();
}
});
}
public void newActivity()
{
Intent selectClass= new Intent(getApplicationContext(), com.example.fyp.videoplayer.class);
startActivity(selectClass);
}