Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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
Android 在倒计时';中更改布局时获取nullPointerException;s finish()方法_Android_Nullpointerexception - Fatal编程技术网

Android 在倒计时';中更改布局时获取nullPointerException;s finish()方法

Android 在倒计时';中更改布局时获取nullPointerException;s finish()方法,android,nullpointerexception,Android,Nullpointerexception,我在上收到一个nullPointerException “button.setOnClickListener(this);”…在中更改布局时 CountDownTimer的finish()方法。这是代码…请帮我解决这个问题。。。。。。。提前谢谢 package com.example.vikrant.countdowntimer; import android.content.Context; import android.graphics.Bitmap; import android.gra

我在上收到一个nullPointerException “button.setOnClickListener(this);”…在中更改布局时 CountDownTimer的finish()方法。这是代码…请帮我解决这个问题。。。。。。。提前谢谢

package com.example.vikrant.countdowntimer;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.ExecutionException;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button button;
    ImageView image;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final Context c = getApplicationContext();
         new CountDownTimer(10000,5000){

             @Override
             public void onTick(long millisUntilFinished) {
                 setContentView(R.layout.timer);
             }

             @Override
             public void onFinish() {
                 setContentView(R.layout.activity_main);
             }
         }.start();

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        String url="https://firebasestorage.googleapis.com/v0/b/fir-assignment-34e5b.appspot.com/o/rangoliA%2Frangolinew.jpg?alt=media&token=4a376937-7fec-420a-a18c-8c9ec7da95af";
        image = (ImageView) findViewById(R.id.imageView);
        DownloadImage downloadImage = new DownloadImage();
        Bitmap bitmap;
        try {
            bitmap = downloadImage.execute(url).get();
            image.setImageBitmap(bitmap);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }

    }

    public class DownloadImage extends AsyncTask<String,Void,Bitmap>{

        @Override
        protected Bitmap doInBackground(String... params) {
            URL url;
            HttpURLConnection httpURLConnection;
            try {
                url = new URL(params[0]);
                httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.connect();
                InputStream inputStream = httpURLConnection.getInputStream();
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                return bitmap;

            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }

        }
    }
}
package com.example.vikrant.countdowntimer;
导入android.content.Context;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.os.AsyncTask;
导入android.os.CountDownTimer;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.text.Layout;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ImageView;
导入java.io.IOException;
导入java.io.InputStream;
导入java.net.HttpURLConnection;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.util.concurrent.ExecutionException;
公共类MainActivity扩展AppCompatActivity实现View.OnClickListener{
按钮;
图像视图图像;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
最终上下文c=getApplicationContext();
新倒计时(100005000){
@凌驾
公共void onTick(长毫秒未完成){
setContentView(R.layout.timer);
}
@凌驾
公共无效onFinish(){
setContentView(R.layout.activity_main);
}
}.start();
按钮=(按钮)findViewById(R.id.button);
setOnClickListener(此);
}
@凌驾
公共void onClick(视图v){
字符串url=”https://firebasestorage.googleapis.com/v0/b/fir-assignment-34e5b.appspot.com/o/rangoliA%2Frangolinew.jpg?alt=media&token=4a376937-7fec-420a-a18c-8c9ec7da95af”;
image=(ImageView)findViewById(R.id.ImageView);
DownloadImage DownloadImage=新的DownloadImage();
位图;
试一试{
位图=downloadImage.execute(url.get();
setImageBitmap(位图);
}捕捉(中断异常e){
e、 printStackTrace();
}捕获(执行例外){
e、 printStackTrace();
}
}
公共类DownloadImage扩展异步任务{
@凌驾
受保护位图doInBackground(字符串…参数){
网址;
HttpURLConnection HttpURLConnection;
试一试{
url=新url(参数[0]);
httpURLConnection=(httpURLConnection)url.openConnection();
httpURLConnection.connect();
InputStream InputStream=httpURLConnection.getInputStream();
位图位图=位图工厂.decodeStream(inputStream);
返回位图;
}捕获(例外e){
e、 printStackTrace();
返回null;
}
}
}
}

您的按钮可能在“R.layout.activity\u main”中定义。设置其他内容时,“findViewById(R.id.button)”将返回null(因为它未在其他布局中定义)


毕竟,为什么要更改布局?

计时器布局/活动\u主布局中是否有此按钮?在完成计时器之前,只需检查条件。否此按钮位于activity_main.xml中。您是否试图在android中制作一个splsh屏幕?是的,按钮是在activity_main.xml中定义的……我想在我的应用程序启动时自动更改布局……是否有任何方法可以避免出现此异常并执行我想要的操作??你是说android中的splsh屏幕?