1

У меня есть две кнопки в моей деятельности. Один работает отлично, а другой нет. Кажется, я не могу найти проблему. Вот код. Кнопка create_profile не работает. Может кто-нибудь, пожалуйста, скажите мне, почему?Кнопка Android Onclick не работает

private Button create_profile,select_contact; 

    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.create_main); 

    select_contact = (Button)findViewById(R.id.add_contact); 
    create_profile = (Button)findViewById(R.id.create_button); 

    select_contact.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      final Uri uriContact = ContactsContract.Contacts.CONTENT_URI; 
      Intent intentPickContact = new Intent(Intent.ACTION_PICK, uriContact); 
      startActivityForResult(intentPickContact, PICK_CONTACT);  
     } 
    }); 

    create_profile.setOnClickListener(new OnClickListener() { 

     @SuppressLint("ShowToast") 
     @Override 
     public void onClick(View arg0) { 
      Toast.makeText(getApplicationContext(), "Pressed", Toast.LENGTH_LONG); 
      System.out.println("PRessed"); 

     } 
    }); 
    } 

Вот код XML

  <Button 
        android:id="@+id/add_contact" 
        android:layout_width="85dp" 
        android:layout_height="wrap_content" 
        android:text="Add" 
        android:layout_marginLeft="5dp" 
        android:layout_marginRight="2dp" 
        android:textSize="19dp"/> 
     <Button 
      android:id="@+id/create_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:text="Create Profile" 
      android:textSize="18sp" 
      android:layout_marginTop="8dp"/> 

Я проверил все, но не могу показаться, чтобы найти проблему.

+0

удалить отдельные модификаторы от кнопки –

+0

Это не работает. – airbourne

+0

распространенная ошибка, забывая показать тост. –

ответ

6

HI почему вы не показываете тост. Код должен быть таким.

Toast.makeText(getApplicationContext(), "Pressed", Toast.LENGTH_LONG).show(); 
+0

Большое спасибо. Я этого не видел. Маленькая ошибка – airbourne

+0

не отставать :) Nice One figured – Divya

0

Вы можете попытаться создать переменную OnClickListener и чем установить обе кнопки одной и той же переменной, и разделить их с переключатель сазе, как это:

OnClickListener onClickListener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
     case R.id.add_contact: 
      //Do what you want for select_contact 
      break; 
     case R.id.create_button: 
      //Do what you want for create_button 
      break; 
     default: 
      break; 
     } 


    } 
}; 

В вашем OnCreate метод установить его, как это :

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     select_contact = (Button)findViewById(R.id.add_contact); 
     create_profile = (Button)findViewById(R.id.create_button); 
     select_contact .setOnClickListener(onClickListener); 
     create_profile .setOnClickListener(onClickListener); 

} 

Если вы хотите, чтобы проверить это, просто добавить контрольные точки под линией случай R.id.create_button

Даже если это не решить вашу проблему, я считаю, что это проще и удобнее работать, как это с методом onClickListener :)

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