Я использую библиотеку Zxing для распознавания QR кодов и она работает по android:onClick="scan"
, но если я нажимаю android:onClick="arch"
:
- ошибка - приложение остановлено, как и при android:onClick="test"
Logcat говорит:
java.lang.RuntimeException: Unable to pause activity {net.den.appp/net.den.appp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void me.dm7.barcodescanner.zxing.ZXingScannerView.stopCamera()' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void me.dm7.barcodescanner.zxing.ZXingScannerView.stopCamera()' on a null object reference
Как это поправить?
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler{
private ZXingScannerView zXingScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void arch(View view) {
Intent intent = new Intent(this, ArchiveActivity.class);
finish();
startActivity(intent);
}
public void test() {
int q =0;
}
public void scan(View view){
zXingScannerView =new ZXingScannerView(getApplicationContext());
setContentView(zXingScannerView);
zXingScannerView.setResultHandler(this);
zXingScannerView.startCamera();
}
@Override
protected void onPause() {
super.onPause();
zXingScannerView.stopCamera();
}
@Override
public void handleResult(Result result) {
Toast.makeText(getApplicationContext(),result.getText(),Toast.LENGTH_SHORT).show(); zXingScannerView.resumeCameraPreview(this);
}
}
У вас не инициализируется переменная zXingScannerView
, он инициализируется в методе scan()
, а в методе arch()
не инициализируется.
Крашится на вызове
zXingScannerView.stopCamera();
в методе onPause()
Вообще это очень плохая практика - декларация слушателя клика в лейауте через android:onClick
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
К примеру есть дата, которая была сделана с помощью CURRENT_TIMESTAMP в mysql -> String date = "2017-12-20 16:49:31"; Мне нужно её преобразовать в то, из чего можно вытащить...
У меня есть NestedScrollView, в котором есть TextView с большим объемом текста, мне нужно событие прокрутки при остановки сохранять в Preferences, возможно...