2016-01-21 1 views
1

Я пытаюсь установить количество для множественного удаления изображений из пользовательской галереи. У меня есть две кнопки, где я могу выбрать количество выбранных изображений. На данный момент у меня есть две кнопки с надписью 4 и 5. Как только я нажимаю кнопку 4, целочисленное значение 4 отправляется в другое действие.получение целого числа из намерений от другого действия при нажатии кнопки не работает правильно. Android

Проблема 1 о принимающей деятельности i получает как целые значения 4, так и 5, даже если я нажал только одну кнопку.

Задача 2 MAX_IMAGE_SELECTION_LENGTH всегда возвращает значение null. Эта переменная должна иметь значение 4 или 5. Она используется в других методах для установки количества выбранных изображений.

Цель, используемая для отправки целочисленного значения. Класс: CountChooser.java

View.OnClickListener c4ClickListner = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     Intent i = new Intent().putExtra("count4", 4); 
     CustomGalleryActivity customGalleryActivity = new CustomGalleryActivity(); 
     customGalleryActivity.setIntent(i); 

     Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
     startActivity(intent); 
    } 
}; 

View.OnClickListener c5ClickListner = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     Intent i = new Intent().putExtra("count5", 5); 
     CustomGalleryActivity customGalleryActivity = new CustomGalleryActivity(); 
     customGalleryActivity.setIntent(i); 

     Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
     startActivity(intent); 
    } 
}; 

получения класса активности: CustomGalleryActivity.java

int MAX_IMAGE_SELECTION_LENGTH; 



    Intent intent = getIntent(); 
    int count_4 = intent.getIntExtra("count4", 0); 
    int count_5 = intent.getIntExtra("count5", 0); 
    if(intent.hasExtra("count4")){ 
     MAX_IMAGE_SELECTION_LENGTH = count_4; 
    }else if(intent.hasExtra("count5")) { 
     MAX_IMAGE_SELECTION_LENGTH = count_5; 
    } 

Как я могу решить эту проблему? Я также попробовал другое решение, доступное в stackoverflow, но не смог его сделать.

+0

Почему вы устанавливаете намерение экземпляра 'Activity' в рамках другого действия? – TheSunny

ответ

0
View.OnClickListener c4ClickListner = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     finish(); 
    } 
}; 

переопределение по методу отделки и поместить его внутрь:

Intent i = new Intent(CountChooser.this,CustomGalleryActivity.class); 
     i.putExtra("count4", 4); 
     startActivity(intent); 
0

Задача 1: Вы установили OnClickListener на глобальный взгляд? Что такое вид? Использование ?:

Button button1 = (Button) findviewbyId(R.id......) 
button1.OnClickListener 
0

Создание одного ключевого слова для обоих, как кол и Чех его значение ли его 4 или 5 Теперь сделайте условие, которое проверяет, если счетчик имеет 5 или 4, как Если (посчитайте == 4) {

} еще {

}

0

Заменить код с кодом, приведенным ниже в соответствующей деятельности.

CountChooser.java

View.OnClickListener c4ClickListner = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     Intent intent = new Intent(getApplicationContext(), CustomGalleryActivity.class); 
     intent.putExtra("count", 4); 
     startActivity(intent); 
    } 
}; 

View.OnClickListener c5ClickListner = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     Intent intent = new Intent(getApplicationContext(), CustomGalleryActivity.class); 
     intent.putExtra("count", 5); 
     startActivity(intent); 
    } 
}; 

CustomGalleryActivity.java

int MAX_IMAGE_SELECTION_LENGTH; 

Intent intent = getIntent(); 
int count = intent.getIntExtra("count", 0); 
if(count != 0){ 
    if(count == 4){ 
     MAX_IMAGE_SELECTION_LENGTH = 4; 
    }else if(count == 5) { 
     MAX_IMAGE_SELECTION_LENGTH = 5; 
    } 
} 

Пожалуйста, дайте мне знать, если это полезно для вас.

+0

да, это полезно. Хотя мне пришлось внести некоторые изменения в мою MainActivity. – user3411961