Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从布局捕获按钮时意外停止错误_Java_Android - Fatal编程技术网

Java 从布局捕获按钮时意外停止错误

Java 从布局捕获按钮时意外停止错误,java,android,Java,Android,我想在java中捕获一个ImageButton,并为它定义一个onClick事件监听器。 但在捕捉线路时,应用程序意外停止。 我正在使用API级别8 这是我的java代码: import android.os.Bundle; import android.app.Activity; import android.graphics.PixelFormat; import android.view.Menu; import android.view.View; import android.view

我想在java中捕获一个ImageButton,并为它定义一个onClick事件监听器。 但在捕捉线路时,应用程序意外停止。 我正在使用API级别8

这是我的java代码:

import android.os.Bundle;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageButton;

public class Login extends Activity {
    ImageButton buttonTest =(ImageButton)findViewById(R.id.imageButton1);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        buttonTest.setOnClickListener(strLogoAnim);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_login, menu);

        return true;
    }

    private OnClickListener strLogoAnim = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                    // Do something
        }
    };

    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        Window window = getWindow();
        window.setFormat(PixelFormat.RGBA_8888);
    }

}
即使我创建了一个新项目并进行了测试,但这个问题也存在。 问题在哪里

public class Login extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        ImageButton buttonTest =(ImageButton)findViewById(R.id.imageButton1);
        buttonTest.setOnClickListener(strLogoAnim);
    }

尝试此操作。

您需要引用onCreate中的按钮:

public class Login extends Activity {
    ImageButton buttonTest; // remove this: =(ImageButton)findViewById(R.id.imageButton1);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        buttonTest =(ImageButton)findViewById(R.id.imageButton1); // add this
        buttonTest.setOnClickListener(strLogoAnim);
    }

@SajjadRad那么你的音乐中有一些有趣的东西。发布您的logcat输出。