Исключение нулевого указателя в моей деятельности - PullRequest
0 голосов
/ 01 апреля 2011

Когда я вызываю это действие, возникает исключение нулевого указателя.Почему это происходит?

package com.andrd.gps;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class User_Detail_ListActivity extends Activity{
TransportData tdata;
private TextView drivernametxt,agetxt,addresstxt,liecencetxt,contactNotxt,driverTypetxt,truckNotxt,truckPermittxt,truckTypetxt,fromtxt,totxt;
Button editBtn,deleteBtn,cancelBtn;
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.user_list);


    drivernametxt = (TextView) findViewById(R.id.nameTextView);
    agetxt=(TextView) findViewById(R.id.ageTextView);
    addresstxt=(TextView) findViewById(R.id.addressTextView);
    liecencetxt=(TextView) findViewById(R.id.licenseNoTextView);
    contactNotxt=(TextView) findViewById(R.id.contactNoTextView);
    driverTypetxt=(TextView) findViewById(R.id.employmetnTypeTextView);
    truckNotxt=(TextView) findViewById(R.id.truckNoTextView);
    truckPermittxt=(TextView) findViewById(R.id.truckPermitTextView);
    truckPermittxt=(TextView) findViewById(R.id.truckTypeTextView);
    fromtxt=(TextView) findViewById(R.id.fromTextView);
    totxt=(TextView) findViewById(R.id.toTextView);

    editBtn =(Button) findViewById(R.id.editBtn);
    deleteBtn = (Button) findViewById(R.id.deleteBtn);
    cancelBtn = (Button) findViewById(R.id.cancelBtn);

    drivernametxt.setText(getIntent().getExtras().getString("DriverName"));
    agetxt.setText(getIntent().getExtras().getString("Age"));
    addresstxt.setText(getIntent().getExtras().getString("Address"));
    liecencetxt.setText(getIntent().getExtras().getString("LiecenseNo"));

    contactNotxt.setText(getIntent().getExtras().getString("ContactNo"));
    driverTypetxt.setText(getIntent().getExtras().getString("DriverType"));
    truckNotxt.setText(getIntent().getExtras().getString("TruckNo"));
    truckPermittxt.setText(getIntent().getExtras().getString("TruckPermit"));
    truckTypetxt.setText(getIntent().getExtras().getString("TruckType"));
    fromtxt.setText(getIntent().getExtras().getString("FromLocation"));
    totxt.setText(getIntent().getExtras().getString("ToLocation"));


    editBtn.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            Intent intent = new Intent(User_Detail_ListActivity.this, EditUserDetailActivity.class);
            intent.putExtra("TruckNo", getIntent().getExtras().getString("TruckNo"));
            startActivity(intent);
        }

    });

    deleteBtn.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            try {
                tdata.deleteUser(getIntent().getExtras().getString("TruckNo"));
                finish();
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "database Error", Toast.LENGTH_LONG).show();
            }

        }

    });

    cancelBtn.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {
            finish();
        }

    });
}
}

Ответы [ 4 ]

1 голос
/ 01 апреля 2011

Обычно в Java причины исключения NullPointerException:

  1. вы получили доступ к неинициализированным переменным.

Но в этом случае вы не можете устанавливать Extras в предыдущем Activity или значение аргумента метода getString () может быть неправильным

1 голос
/ 01 апреля 2011

Убедитесь, что вы добавили действие в свой манифест приложения

<activity android:name=".EditUserDetailActivity"></activity>
0 голосов
/ 15 апреля 2017

Вы никогда не инициализировали truckTypetxt ... Вы вместо этого инициализировали это дважды.

truckPermittxt=(TextView) findViewById(R.id.truckPermitTextView);
truckPermittxt=(TextView) findViewById(R.id.truckTypeTextView);

Но все же вы используете truckTypetxt

truckTypetxt.setText(getIntent().getExtras().getString("TruckType"));
0 голосов
/ 01 апреля 2011

Привет, Мукеш. Думаю, вы ошиблись при инициализации TextView.

Пожалуйста, проверьте, что вы инициализировали truckPermittxt дважды.Инициализируйте truckTypetxt там, а затем попробуйте использовать truckTypetxt.setText(getIntent().getExtras().getString("TruckType"));

Это основная причина исключения NullPointerException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...