每次按下按钮都会崩溃"Android Studio"
Getting a crash every time i press a button"Android Studio"
我正在尝试制作一个移动应用程序,但每当我尝试按下按钮时,我都会崩溃。该按钮应将我带到一个新的 activity 页面,我已经以正确的方式将其他页面与该按钮连接起来。我只是想知道这段代码是否正确:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onButtonClick(View v)
{
Button a1= (Button) findViewById(R.id.button);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
}
public void onButtonClick1(View c)
{
Button a1= (Button) findViewById(R.id.button2);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, ThirdPage.class);
startActivity(intent);
}
});
}
public void onButtonClick2(View d)
{
Button a1= (Button) findViewById(R.id.button3);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FourthPage.class);
startActivity(intent);
}
});
}
public void onButtonClick3(View f)
{
Button a1= (Button) findViewById(R.id.button4);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FifthPage.class);
startActivity(intent);
}
});
}
}
我刚刚从 youtube 上的一些视频中学习了 java,所以我不确定我的 activity 功能是否正常。谢谢
之后可能有几个原因
1) 确保您在清单文件
中定义了 activity
2) 在 xml 文件中检查 android:onClick=""
..
或
尝试在 onCreate()
方法中绑定按钮。
并且您可以简单地将其用于 onClick
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
删除 activity_main.xml 文件中的 onClick 属性,然后将此代码复制并粘贴到 MainActivity.java 文件中
public class MainActivity extends AppCompatActivity {
Button b1,b2,b3,b4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1= (Button) findViewById(R.id.button);
b2= (Button) findViewById(R.id.button2);
b3= (Button) findViewById(R.id.button3);
b4= (Button) findViewById(R.id.button4);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, ThirdPage.class);
startActivity(intent);
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FourthPage.class);
startActivity(intent);
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FifthPage.class);
startActivity(intent);
}
});
}
}
如果您在布局中使用 onclick 属性 XML 那么您不需要设置 onclick 侦听器.如果你没有使用 onclick 那么你需要设置 click listener。在您的情况下,我认为使用在布局 XML 中使用 onclick 属性,并尝试在使用中设置 click 侦听器 java 代码。所以您需要在布局 XML 中使用 onclick 属性或在 java 代码 [=10] 中使用 setOnCliickListener() =]
我正在尝试制作一个移动应用程序,但每当我尝试按下按钮时,我都会崩溃。该按钮应将我带到一个新的 activity 页面,我已经以正确的方式将其他页面与该按钮连接起来。我只是想知道这段代码是否正确:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onButtonClick(View v)
{
Button a1= (Button) findViewById(R.id.button);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
}
public void onButtonClick1(View c)
{
Button a1= (Button) findViewById(R.id.button2);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, ThirdPage.class);
startActivity(intent);
}
});
}
public void onButtonClick2(View d)
{
Button a1= (Button) findViewById(R.id.button3);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FourthPage.class);
startActivity(intent);
}
});
}
public void onButtonClick3(View f)
{
Button a1= (Button) findViewById(R.id.button4);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FifthPage.class);
startActivity(intent);
}
});
}
}
我刚刚从 youtube 上的一些视频中学习了 java,所以我不确定我的 activity 功能是否正常。谢谢
之后可能有几个原因
1) 确保您在清单文件
中定义了 activity2) 在 xml 文件中检查 android:onClick=""
..
或
尝试在 onCreate()
方法中绑定按钮。
并且您可以简单地将其用于 onClick
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
删除 activity_main.xml 文件中的 onClick 属性,然后将此代码复制并粘贴到 MainActivity.java 文件中
public class MainActivity extends AppCompatActivity {
Button b1,b2,b3,b4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1= (Button) findViewById(R.id.button);
b2= (Button) findViewById(R.id.button2);
b3= (Button) findViewById(R.id.button3);
b4= (Button) findViewById(R.id.button4);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondPage.class);
startActivity(intent);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, ThirdPage.class);
startActivity(intent);
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FourthPage.class);
startActivity(intent);
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, FifthPage.class);
startActivity(intent);
}
});
}
}
如果您在布局中使用 onclick 属性 XML 那么您不需要设置 onclick 侦听器.如果你没有使用 onclick 那么你需要设置 click listener。在您的情况下,我认为使用在布局 XML 中使用 onclick 属性,并尝试在使用中设置 click 侦听器 java 代码。所以您需要在布局 XML 中使用 onclick 属性或在 java 代码 [=10] 中使用 setOnCliickListener() =]