我有一个主要 Activity ,其中用户显示了 3 个 ListView 和 3 个按钮。当用户单击三个按钮中的两个时,我希望将用户发送到另一个屏幕(另一种布局)。我已经创建了另外两个布局和另外两个类。我不确定为什么这不起作用。我的应用程序没有报告错误,没有警告,而且我发现我无法逐步执行我的代码,因为我的调试器不工作。
我有一个 OnClickListner
(我目前只是一次测试一个按钮来解决问题),它链接到主 Activity layout.xml android:OnClick 中的按钮
。我在主要 Activity 中放置了一个 Intent,该 Activity (根据多个来源和 YouTube 教程)已正确设置,并且应该将用户重定向到的新 Activity 链接到适当的布局。当我运行应用程序时,按钮点击注册(我知道这一点,因为当按下按钮时我有一个声音效果)但没有其他事情发生。此外,我的所有 Activity 都存在于 AndroidManifest.xml
文件中。所有的 Activity 文件都在同一文件夹级别,所有布局都在 res/layout 下
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// instantiate button
Button btnClicked = (Button)findViewById(R.id.goal);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.click);
btnClicked.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,
ChangeGoal.class));
mp.start();
}
});
// method called when set goal button is clicked
public void setGoal(View view)
{
// intent to send user from main activity to the change goal
activity
Intent setGoal = new Intent(this, ChangeGoal.class);
startActivity(setGoal);
}
}
public class ChangeGoal extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_goal); // connect
class to the other layout
}
}
//button from activity_main.xml
<Button
android:id="@+id/goal"
android:layout_width="200dp"
android:layout_height="200dp"
android:text="@string/Set"
android:onClick="setGoal"
android:textSize="20sp"
android:textColor="#000000"/>`
同样,我希望从主 Activity 中单击按钮将用户发送到一个新 Activity ,他们需要在该 Activity 中进行选择,然后返回到主 Activity 。到目前为止,按钮点击注册(我可以听到它,因为我已经在按钮点击时包含了一些音频)但是应用程序什么都不做,我留在同一个屏幕上并且可以一次又一次地按下按钮。
最佳答案
在您的 Activity
布局中,您已在 Button
上声明:
android:onClick="setGoal"
然后,在代码中,您将 onClickListener
附加到同一个 Button
。这是错误的。做一个或另一个,但不能同时做。
关于android - 需要帮助找出为什么我的应用程序在单击按钮后不离开主屏幕(这应该将我带到第二个 Activity 屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996995/