簡體   English   中英

打開新活動按鈕的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM