Начало работы по проверке некоторых состояний - PullRequest
0 голосов
/ 16 ноября 2011

На самом деле в моем приложении я установил действие в качестве основного действия, в котором я проверяю условие на некоторых значениях текстового пакета, полученных в этом действии, которое запускает действие по проверке, равна ли длина edittext нулю или нет, и в соответствии с этим открытием соответствующая активность на каждом условии, но это дает мне ошибку, которая: -

11-16 12:40:48.588: E/AndroidRuntime(456): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.avigma.shpoonkle/com.avigma.shpoonkle.CheckActivity}: java.lang.NullPointerException
11-16 12:40:48.588: E/AndroidRuntime(456):  at com.avigma.shpoonkle.CheckActivity.onCreate(CheckActivity.java:19)

Я предоставляю свой класс CheckActivity, пожалуйста, помогите мне ... заранее спасибо ...

 public class CheckActivity extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle i=  getIntent().getExtras();
        String a=i.getString("a");
        String b12=i.getString("b12");
        String c1=i.getString("c1");
        String d=i.getString("d");
        String e111=i.getString("e111");
        String h=i.getString("h");
        Intent i1;

        if((a.length()>1)&&(b12.length()>1)&&(c1.length()>1)&&(d.length()>1)&&(e111.length()>1)&&(h.length()>1))
        {
            i1 =new Intent(getApplicationContext(),ShpoonkleActivity.class);
        }
        else
        {
            i1=new Intent(getApplicationContext(),Test.class);
        }
        startActivity(i1);
        finish();
    }
}

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Проверьте строку 19.nullPointerException означает, что вы пытаетесь получить доступ к объекту / переменной, которая на самом деле равна нулю.

с грубой точки зрения if((a.length()>1)&&(b12.length()>1)&&(c1.length()>1)&&(d.length()>1)&&(e111.length()>1)&&(h.length()>1)) кажется строкой, где / b12 ... может быть нулевым

0 голосов
/ 16 ноября 2011

Вы установили CheckActivity в качестве основного действия для запуска, если я не ошибаюсь. Тогда как можно было бы отправлять дополнения с вашим намерением начать это действие?эта активность будет автоматически вызываться при открытии вашего приложения.

Кроме того, если вы проверите getIntent().hasExtra("a") и то же самое для других строк, вы получите его false всегда, так как таких не будет.дополнения добавлены к вашему намерению.

Таким образом, в принципе, ваш способ работы неправильный. Используйте другое решение для удовлетворения ваших потребностей.

...