Java 如何获得打开其他活动的按钮?
我已经在我的活动XML文件中添加了一个按钮,但我无法让它打开我的其他活动。有人能告诉我如何一步一步地做到这一点吗?使用OnClick ListenerJava 如何获得打开其他活动的按钮?,java,android,xml,Java,Android,Xml,我已经在我的活动XML文件中添加了一个按钮,但我无法让它打开我的其他活动。有人能告诉我如何一步一步地做到这一点吗?使用OnClick Listener Button T=(Button)findViewById(R.id.button_timer); T.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-gene
Button T=(Button)findViewById(R.id.button_timer);
T.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(getApplicationContext(),YOURACTIVITY.class);
startActivity(i);
}
});
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
在活动
实例的onCreate()
方法中,首先需要使用findViewById()
通过id找到按钮
,然后为按钮设置OnClickListener
,并实现onClick()
方法,以便启动新的活动
Button yourButton = (Button) findViewById(R.id.your_buttons_id);
yourButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
});
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
这可能是大多数开发人员首选的方法。然而,有一个共同的选择
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
在XML中使用onClick
或者,您可以使用android:onClick=“yourMethodName”
在您的活动
中声明方法名称,当您单击按钮
时会调用该方法,然后像这样声明您的方法
public void yourMethodName(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
另外,不要忘记在manifest.xml
中声明新的活动。我希望这有帮助
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
参考文献
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
A.确保您的其他活动已在清单中声明:
<activity
android:name="MyOtherActivity"
android:label="@string/app_name">
</activity>
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
如果您在xml文件中声明了与以下类似的按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="next activity"
android:onClick="goToActivity2"
/>
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
请注意,我的第二个活动称为“Main2Activity”在xml文件上编写代码
<Button android:width="wrap_content"
android:height="wrap_content"
android:id="@+id/button"
android:text="Click"/>
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
应用以下步骤:
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
在文件夹布局中插入新布局xml
重命名window2
添加新按钮并添加此行:android:onClick=“window2”
mainactivity.java
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
使用以下代码在android studio中打开一个按钮,打开一个已经存在的活动
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
我做的和用户9876226回答的一样。
唯一的区别是,我通常不使用onclick侦听器。相反,我在xml文件中编写以下内容:android:onClick=“open”
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
open
是绑定到按钮的功能。
然后在activity类中创建函数open()。单击按钮时,将调用此函数:)
此外,我认为这种方式比使用侦听器更方便。使用以下步骤添加新活动(清单文件将自动更新)
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
文件>新建>活动>空活动
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
在您的MainActivity.java文件中,在protectedvoid onCreate(Bundle savedInstanceState)中添加以下代码
确保调用finish()结束时的函数。因此,当您点击后退按钮时,它将不会返回到上一个活动
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});
Button btn = (Button)findViewById(R.id.open_activity_button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, MyOtherActivity.class));
finish();
}
});
你能给我们看一点代码吗?我猜您没有在按钮上设置OnClickListener
。请发布相关代码。如果您是编程新手,并尝试使用Android Studio,请先尝试学习基础知识,在您的情况下,Java编程语言将是一个很好的开始。然后学习标记语言XML。一旦你明白了,你就可以像其他人一样去阅读了。然后,在了解它之后,你应该尝试创建一些基本项目。Youtube上有很多视频可以让你上路。在我看来,你们是在堆栈溢出的问题上来到这里的,若你们有问题,那个么你们必须展示你们的工作,表明你们不仅仅是想从社区中获取代码片段。我辅导了一些学生,他们会要求我为他们解决这个问题,但他们对学习它的工作原理或学习任何东西都不感兴趣。相反,当他们遇到问题时,他们会回来,这样我就可以再次解决它。这不仅对占用一个人的时间和精力是不公平的,而且还会让你回来问一些简单的问题,如果你花时间的话,你本可以回答自己的问题。从长远来看,如果你至少解决了一打这样的问题,你就会学会如何钓鱼,而不是来吃别人可能会给你买的鱼。这是一个伟大的社区,这里有许多专业人士愿意与他人分享他们的伟大经验,但我们都必须保持社区整洁,努力学习并帮助他人!这两种方式有区别吗?在第一种方式中,我们可以动态地控制它,我想,还有什么优势吗?(对于我这个noob Android程序员来说)@ErtürkÖztürk正如您所指出的,第一种方法可以动态更改或更新,但第二种方法需要更少的代码,并且稍微整洁一些。否则,它们只是做同一件事的两种可选方法。这不会打开另一个活动。它将更改当前活动的内容。它“起作用”,但您不能使用“后退”按钮返回上一屏幕。