2015-03-08 4 views
-1

У меня этот код на Main_Screen.class:PARSE намерению В Android

add_btn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      Intent add_user = new Intent(Main_Screen.this, Add_Update_User.class); 
      add_user.putExtra("called", "add"); 
      add_user.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(add_user); 
      finish(); 
     } 
    }); 

То, что я понял, что я посылаю к «Add_Update_User.class» строка «добавить» хранится в «называется» и флаги»

Теперь у меня есть этот код в„Add_Update_User.class“:

String called_from = getIntent().getStringExtra("called"); 
    if (called_from.equalsIgnoreCase("add")) 
    { 
     add_view.setVisibility(View.VISIBLE); 
     update_view.setVisibility(View.GONE); 
    } 
    else 
    { 
     update_view.setVisibility(View.VISIBLE); 
     add_view.setVisibility(View.GONE); 
     USER_ID = Integer.parseInt(getIntent().getStringExtra("USER_ID")); 
     Contact c = dbHandler.Get_Contact(USER_ID); 

     add_name.setText(c.getName()); 
     add_mobile.setText(c.getPhoneNumber()); 
     add_email.setText(c.getEmail()); 
    } 

то, что я понял, в„Add_Update_User.class“Я получаю значение, отправленное из„Main_Screen.class“в Намерение, сохраняющее значение " add "в String" called_from ", а затем он сравнивает« вызываемый »со строкой« добавить », и если сравнение истинно, вид становится видимым и исчезает, но если это неверно, то установите видимость вида И ЗДЕСЬ ИДЕТ МОЙ ВОПРОС:

ЧТО ЭТО ЭТО ЧАСТЬ КОДА?

USER_ID = Integer.parseInt(getIntent().getStringExtra("USER_ID")); 
+0

Ваш ключ блокировки замков иногда застревает? – RenniePet

+0

Нет, это не так. Зачем? – RalphVB

ответ

1

Действительно, вы отправляете значение «добавить» с main_screen на add_update_user через Intent.

Линия, которую вы указываете, за исключением того, что вы извлекаете идентификатор пользователя, который является строкой. Однако ваша переменная USER_ID, вероятно, является «int».

Поэтому вы должны иметь где-то в main_screen что-то вроде

add_user.putExtra("USERID", "the id of the user you want to put"); 

и вы получить его с

getIntent().getStringExtra("USER_ID") 

то разобрать строку в целое число, чтобы соответствовать типу user_id с Integer. parseInt (...)

Настоящий вопрос, поэтому вы должны спросить себя, почему у вас нет функции add_user.putExtra («USER_ID», ...), если вы это сделаете не нужно, тогда вы можете удалить строку, о которой вы беспокоитесь.

+0

У меня есть эта часть, которую вы говорите, позвольте мне изменить вопрос. Но теперь я знаю, что, черт возьми, делает эту часть кода. Спасибо – RalphVB

Смежные вопросы