[英]Issues with a button to open new activity
我是一個新手,如果涉及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文件。
所以我的問題是,你們有任何想法有什么不對嗎?
我非常感謝你們提供的任何幫助:)
如果未注冊,請在清單中注冊您的活動。
將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" />
在你的xml文件中補充android:id="@id/start"
到android:id="@+id/start"
res將正常工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.