QRコードがURLであることに気付くことができるQRコードアプリケーションに取り組んでいます。電話のWebブラウザで検索してください(または、ハイパーリンクをクリックしてクリックする必要があります)。このエラーが発生しました:仮想メソッド 'null android.widget.TextView.setText(java.lang.CharSequence)' nullオブジェクトリファレンス
Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
アイデアをお持ちですか?
package com.varvet.barcodereadersample;
import android.content.Intent;
import android.graphics.Point;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.google.android.gms.common.api.CommonStatusCodes;
import com.google.android.gms.vision.barcode.Barcode;
import com.varvet.barcodereadersample.barcode.BarcodeCaptureActivity;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class MainActivity extends AppCompatActivity {
private static final String LOG_TAG = MainActivity.class.getSimpleName();
private static final int BARCODE_READER_REQUEST_CODE = 1;
private TextView mResultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mResultTextView = (TextView) findViewById(R.id.text);
Button scanBarcodeButton = (Button) findViewById(R.id.scan_barcode_button);
scanBarcodeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), BarcodeCaptureActivity.class);
startActivityForResult(intent, BARCODE_READER_REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == BARCODE_READER_REQUEST_CODE) {
if (resultCode == CommonStatusCodes.SUCCESS) {
if (data != null) {
Barcode barcode = data.getParcelableExtra(BarcodeCaptureActivity.BarcodeObject);
Point[] p = barcode.cornerPoints;
mResultTextView.setText(barcode.displayValue);
try{
URL url = new URL ("" + mResultTextView.getText());
URLConnection conn = url.openConnection();
conn.connect();
} catch (MalformedURLException e) {
mResultTextView.setText("invalid url");
} catch (IOException e) {
mResultTextView.setText("no connection to url placed");
}
} else mResultTextView.setText(R.string.no_barcode_captured);
} else Log.e(LOG_TAG, String.format(getString(R.string.barcode_error_format),
CommonStatusCodes.getStatusCodeString(resultCode)));
} else super.onActivityResult(requestCode, resultCode, data);
}
}
javacript is java –
明らかに、 'activity_main'レイアウトに' text 'というIDを持つ ''はありません。 –
@MikeM。ただそれを追加しました。でも、同じ問題です。 –