如何从一个“活动”屏幕导航到另一个“活动”屏幕?在第一个屏幕中我有一个按钮,如果我点击按钮它必须移动到另一个活动屏幕。
答案 0 :(得分:17)
最微不足道的案例(从活动中调用):
startActivity(new Intent(this, ActivityToLaunch.class));
此处有更多详情:http://developer.android.com/guide/topics/fundamentals.html
答案 1 :(得分:16)
Button x.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent i = new Intent(y.this, Activity.class);
startActivity(i);
}
});
这里我们为Button x定义了一个监听器。操作系统将调用此方法并启动Intent i中引用的Activity。
这是官方教程示例: http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html
答案 2 :(得分:12)
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(action));
}
};
Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
答案 3 :(得分:10)
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));
}
});
答案 4 :(得分:7)
public void onClick(View v)
{
Intent myintent = new Intent(currentclass.this, nextactivity.class);
startActivity(myintent);
}
答案 5 :(得分:4)
可以使用名为Intents的android主要构建块之一和属于您的Activity类的方法之一public void startActivity (Intent intent)
来完成此任务。
intent是要执行的操作的抽象描述。它可以与startActivity一起用于启动Activity,broadcastIntent用于将其发送到任何感兴趣的BroadcastReceiver组件,startService(Intent)或bindService(Intent,ServiceConnection,int)用于与后台服务进行通信。
Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟运行时绑定。它最重要的用途是发起活动,它可以被认为是活动之间的粘合剂。它基本上是一个被动数据结构,包含要执行的动作的抽象描述。
参阅官方文档 - http://developer.android.com/reference/android/content/Intent.html
public void startActivity (Intent intent)
- 用于启动新活动。
假设你有两个Activity类,按一下按钮OnClickListener()
你想从一个Activity移动到另一个Activity然后 -
PresentActivity - 这是您想要进行第二项活动的当前活动。
NextActivity - 这是您要移动的下一个活动。
所以Intent就像这样
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()
内的任何地方使用代码。
答案 6 :(得分:4)
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));
}
});
答案 7 :(得分:3)
使用以下代码。我希望这会对您有所帮助。
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。
答案 8 :(得分:1)
startActivity(new Intent(this,newActivity.class));
答案 9 :(得分:1)
从一个活动切换到另一个活动非常简单,但对于新活动来说却很棘手。
您的下一课必须在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);
}
答案 10 :(得分:1)
Intent intentobj=new Intent(FromActivity.this,ToActivity.class);
startActivity(intentobj);
或者您可以简单地使用
startActivity(new Intent(FromActivity.this,ToActivity.class));
答案 11 :(得分:1)
尝试以下代码:
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);
}
});
答案 12 :(得分:0)
您可以使用以下代码段导航至下一个屏幕:
科特林
startActivity(Intent(this, LoginActivity::class.java))
Java
startActivity(new Intent(this, LoginActivity.class))
答案 13 :(得分:0)
在您的方法fun onCreate(savedInstanceState: Bundle?)
中添加它。
your_btn_id.setOnClickListener{
val intent = Intent(this, yourpagename::class.java)
startActivity(intent)
}
直到现在,如果仍然无法使用,请检查是否添加了这两个文件,
import android.content.Intent
import kotlinx.android.synthetic.main.activity_otp.*
答案 14 :(得分:0)
Button navigate;
navigate = findViewById(R.id.button);
navigate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Navigate another Activity",Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
答案 15 :(得分:0)
只需转到XML文件并在按钮xml中添加Onclick =“ opennewactivity”。
然后转到Java代码并创建类opennewactivity,您可以将其设为我喜欢的Alt +输入xml代码的“ opennewactivity”。在那写
Intent intent = new Intent(this, newacivity.class);
startActivity(intent);
如果您不希望用户再次回到第一个活动,则只需编写
Intent intent = new Intent(this, newactivity.class);
startActivity(intent);
finish();
答案 16 :(得分:0)
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);
}