我是一个新手,如果涉及到Java,所以我参加了我大学的一个项目,这个项目的创建是为了帮助一年级的编码(比如我:c)。好吧,我打开一个新的活动有问题,比如主菜单。
调试工作正常,应用程序启动但是当我点击ImageButton"新游戏"在主菜单中,理论上应该在新的.java文件中打开另一个活动应用程序崩溃。我问我的导师(她也是学生),她说她不知道出了什么问题,因为一切都应该运转得很好。
以下是ImageButton本身的main_activity.xml文件的一部分:
<ImageButton
android:layout_width="178dp"
android:layout_height="20dp"
android:id="@id/start"
android:src="@drawable/nowa"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:layout_below="@+id/hlTopBar"
android:background="#00000000"
android:scaleType="fitXY"
android:layout_weight="0.02"
android:layout_margin="10dp" />
MainActivity.java
import static com.example.wojciech.myapplication.R.id.start;
import static com.example.wojciech.myapplication.R.layout.activity_main;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ImageButton przyciskStart;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(activity_main);
przyciskStart = (ImageButton) findViewById(start);
przyciskStart.setOnClickListener(this);
}
@Override
public void onClick (View a){
if(a.getId()== start) {
Intent intent = new Intent(getApplicationContext(), nowa_gra.class);
startActivity(intent);
}
和nowa_gra.java
package com.example.wojciech.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import static com.example.wojciech.myapplication.R.layout.nowa1;
public class nowa_gra extends AppCompatActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(nowa1);
}
}
布局中有一个nowa1.xml文件。
所以我的问题是,你们有什么想法吗?
我非常感谢你们提供的任何帮助:)
答案 0 :(得分:1)
如果未注册,请在清单中注册您的活动。
答案 1 :(得分:0)
将Mainactivity.java更改为如下所示
import static com.example.wojciech.myapplication.R.id.start;
import static com.example.wojciech.myapplication.R.layout.activity_main;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ImageButton przyciskStart;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnImageButton();
}
public void addListenerOnImageButton() {
final Context context = this;
przyciskStart = (ImageButton) findViewById(R.id.start);
przyciskStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, nowa_gra.class);
startActivity(intent);
finish();
}
});
}
}
例如,在Android Manifiest.xml文件中注册新活动;
<activity
android:name=".nowa_gra"
android:label="nowa_gra"
android:screenOrientation="portrait" />
答案 2 :(得分:-1)
在您的xml文件中,请android:id="@id/start"
向android:id="@+id/start"
res充值正常