如何从一个屏幕导航到另一个屏幕
-
12-09-2019 - |
题
如何从一个活动屏幕导航到另一个活动屏幕?在第一个屏幕中,我将有一个按钮,如果我单击按钮,它必须移动到另一个活动屏幕。
解决方案
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(action));
}
};
Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
其他提示
最琐碎的情况(从活动中调用):
startActivity(new Intent(this, ActivityToLaunch.class));
更多详细信息: http://developer.android.com/guide/topics/fundamentals.html
Button x.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent i = new Intent(y.this, Activity.class);
startActivity(i);
}
});
在这里,我们为按钮X定义了一个侦听器。操作系统将调用此方法,并启动意图中引用的活动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);
}
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));
}
});
可以使用Android的主要构建块之一来完成此任务,称为意图和其中一种方法之一 public void startActivity (Intent intent)
属于您的活动类。
意图是对要执行的操作的抽象描述。可以使用起步性来启动活动,广播材料,以将其发送给任何感兴趣的广播媒介组件,以及starterVice(Interent)或bindservice(Intent,intent,serviceconnection,int),以与背景服务进行通信。
意图为在不同应用程序中的代码之间执行运行时绑定提供了一种设施。它最重要的用途是发起活动,可以将其视为活动之间的胶水。基本上,它是一种被动数据结构,其中包含要执行的动作的抽象描述。
参考官方文档 - http://developer.android.com/reference/android/content/intent.html
public void startActivity (Intent intent)
- 用于发起新活动。
因此,假设您有两个活动课,并且在按钮上单击 OnClickListener()
您想从一项活动转移到另一个活动 -
当前性 - 这是您当前的活动,您想从中进行第二项活动。
下一个 - 这是您要移动的下一个活动。
所以意图就是这样
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);
}
});
}
}
此exmple与按钮单击有关,您可以在按钮内写入的任何地方单击的任何位置 OnClickListener()
在您想在活动之间切换的任何地方。
使用以下代码..我希望这对您有帮助。
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));
Switching from one activity to another is really simple, but tricky for a new one.
Your next class must be defined in AndroidManifest.xml
. This is tester class:
<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);
}
You can navigate to the next screen using these code snippets:
Kotlin
startActivity(Intent(this, LoginActivity::class.java))
Java
startActivity(new Intent(this, LoginActivity.class))
Here's a reference: Android Developers - Starting another activity