if и else if, java в android studio [удвоенная]

У этого вопроса уже есть ответ здесь:

Он хотел знать, как я могу делать для того, чтобы если response он равен в id Facebook, пойдите в один activity, и что иначе пошел к другому activity.

Когда я пробую с:

if (profil.getId().toString() == response)

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

Код:

  public class MainoRegistro extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_maino_registro);

             final Profile profil = Profile.getCurrentProfile();
            RequestQueue queue = Volley.newRequestQueue(this);
            final String URL = "http://midominio.com/consulta.php?facebookid="+profil.getId().toString();
            StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    response = response.replaceAll("\"","").replace("]","").replace("[","");

            if (response == profil.getId()){
                Registrado();

            }else {
                registro();
            }


                }

            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    LoginManager.getInstance().logOut();
                    IrPantallaLogin();
                }
            });
            queue.add(stringRequest);
        }

private void registro() {

    Intent intent = new Intent(MainoRegistro.this,Registro.class);
    finish();
    startActivity(intent);
}

private void Registrado() {
    Intent intent = new Intent(MainoRegistro.this,MainActivity.class);
    finish();
    startActivity(intent);

}

сейчас, когда я размещаю метод .trim () задерживается app и в logcat он говорит мне следующее:

java.lang. RuntimeException: Unable to start activity ComponentInfo { com.mathiastoledo.talkit/com.mathiastoledo.tal ‌​ дистрибутив. MainoRegistro }: java.lang. NullPointerException: Виртуальный Attempt to invoke method 'java.lang. String com.facebook. Profile.getId ()' on в null object reference

1
задан 06.01.2017, 22:42
0 ответов

Видимая проблема кажется сравнением два strings, ты не должен реализовывать это посредством оператора == :

if (profil.getId().toString() == response)

Ты должен сравнивать strings посредством метода equals() и, таким образом, когда они равны, реализовывать один Intent чтобы открываться Activity который ты желаешь, помни, что все Activity они должны быть зарегистрированными в AndroidManifest.xml

Возможно использовать метод trim() чтобы удалять возможное место.

Чтобы открывать другую Activity ты можешь реализовывать это посредством одного Intent:

if (profil.getId().toString().equals(response.trim())){
        //Abre otra Activity.
        Intent myIntent = new Intent(Activity.this, OtraActivity.class);
        startActivity(myIntent);
}

Последующая ошибка:

java.lang. RuntimeException: Unable to start activity ComponentInfo { com.mathiastoledo.talkit/com.mathiastoledo.tal ‌​ дистрибутив. MainoRegistro }: java.lang. NullPointerException: Виртуальный Attempt to invoke method 'java.lang. String com.facebook. Profile.getId ()' on в null object reference

он производится, так как переменная profil у него есть стоимость null.

4
ответ дан 03.12.2019, 17:51
  • 1
    спасибо! но у меня есть проблема с этим –  06.01.2017, 00:12
  • 2
    в моем DB у меня есть уже один будьте осмотрены, но все же он посылает меня activity else. if (profil.getId () .toString () .equals (response)) {//Он Открывает другую Activity. Intent myIntent = new Intent (MainoRegistro.this, MainActivity.class); finish (); startActivity (myIntent); } else { Intent другой = new Intent (MainoRegistro.this, Registro.class); finish (); startActivity (другой); } –  06.01.2017, 00:13
  • 3
    и response у него есть id facebook, который ты комментируешь? если он así добавляет mé каждый .trim () как я добавляю в моем ответе. –  06.01.2017, 00:47
  • 4
    sisi, сейчас, когда я размещаю метод .trim () задерживается app и в logcat он говорит мне следующее: java.lang. RuntimeException: Unable to start activity ComponentInfo { com.mathiastoledo.talkit/com.mathiastoledo.talkit. MainoRegistro }: java.lang. NullPointerException: Виртуальный Attempt to invoke method ' java.lang. String com.facebook. Profile.getId () ' on в null object reference –  06.01.2017, 00:58
  • 5
    Ошибка состоит в том, что profil у него есть стоимость null! уверь в том, что исправь это. –  06.01.2017, 01:11

Теги

Похожие вопросы