我已经在我的活动XML文件中添加了一个按钮,但我无法让它打开我的另一个活动。请问可以详细说明一下如何操作吗?
A. 确保你的其他活动已在清单中声明:
<activity
android:name="MyOtherActivity"
android:label="@string/app_name">
</activity>
所有活动都必须在清单文件中声明,即使它们没有分配 意图过滤器。
B. 在你的MainActivity中做以下操作:
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));
}
});
在您的 Activity
实例的 onCreate()
方法中,您需要首先使用 findViewById()
找到您的 Button
,然后为您的按钮设置一个 OnClickListener
,并实现 onClick()
方法,以便启动您的新 Activity
。
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));
}
});
这可能是大多数开发者首选的方法。不过,还有一种常见的替代方法。
另外,您可以使用 android:onClick="yourMethodName"
在您的 Activity
中声明方法名称,在点击您的Button
时调用该方法,然后像这样声明您的方法;
public void yourMethodName(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
还有一件事,不要忘记在manifest.xml
中声明你的新Activity
。希望这可以帮到你。
参考资料:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="next activity"
android:onClick="goToActivity2"
/>
然后你可以在Java文件中添加以下内容来使用它来更改活动:
public void goToActivity2 (View view){
Intent intent = new Intent (this, Main2Activity.class);
startActivity(intent);
}
请注意,我的第二个活动被称为“Main2Activity”
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:width="wrap_content"
android:height="wrap_content"
android:id="@+id/button"
android:text="Click"/>
在你的Java文件中编写代码
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
startActivity(new Intent(getApplicationContext(),Secondclass.class));
/* if you want to finish the first activity then just call
finish(); */
}
});
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);
}
});
android:onClick =“open”
open
是绑定到按钮的函数。
然后只需在您的活动类中创建函数open()。当您单击按钮时,将调用此函数 :)
此外,我认为这种方式比使用侦听器更舒适。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();
}
});
请按照以下步骤操作:
mainactivity.java
public void openWindow2(View v) {
//call window2
setContentView(R.layout.window2);
}
}
OnClickListener
。 - David Ferrand