Программирование на Android: можно ли конвертировать определенную дату в виде кнопки? - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь создать небольшое приложение, целью которого является загрузка изображения при нажатии на дату.Файлы изображений хранятся в формате mm-dd-yyyy.Предположим, я нажимаю 01-MAY-2018, чтобы загрузить соответствующее изображение.

Я попытался запустить новое действие, вызвав Intent in from the calendar class, но действие не запускается.

Это мой код класса календаря.Как я могу установить конкретную дату в качестве кнопки?Я попытался посмотреть другие примеры, но не нашел большой помощи.

Calendar Class

public class CalendarApp extends AppCompatActivity {

CalendarView calendar;

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

public void initializeCalendar(){

    calendar=(CalendarView) findViewById(R.id.calendar);

    // sets whether to show the week number.
    calendar.setShowWeekNumber(false);

    //Set first day of Week as Monday

    calendar.setFirstDayOfWeek(2);

    //Set Background color for the Selected Week

    calendar.setSelectedWeekBackgroundColor(getResources().getColor(R.color.green));

    //Set colors for the date of unfocussed month

    calendar.setUnfocusedMonthDateColor(getResources().getColor(R.color.transparent));

    //Set colors for separators line between weeks

    calendar.setWeekSeparatorLineColor(getResources().getColor(R.color.transparent));

    //Set colors for the vertical bars between the selected start date and the selected end date

    calendar.setSelectedDateVerticalBar(R.color.darkgreen);

    //Set the listener to be notified upon selected date change

    calendar.setOnDateChangeListener(new OnDateChangeListener() {
        @Override
         public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
                Toast.makeText(getApplicationContext(),
                        day + "/" + month + "/" + year, Toast.LENGTH_LONG).show();
                startActivity(new Intent(CalendarApp.this, Image_View.class));
            }

        }
    );

}

}

Image_View.java

public class Image_View extends Activity {

Button button;
ImageView image;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_upload);

    addListenerOnButton();

}

public void addListenerOnButton() {

    image = (ImageView) findViewById(R.id.imageView1);

    button = (Button) findViewById(R.id.Click);

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            image.setImageResource(R.drawable.may_1st_2018);
        }

    });

}

}

1 Ответ

0 голосов
/ 30 мая 2018

Сделайте так:

calendar.setOnDateChangeListener(new OnDateChangeListener() {
        @Override
         public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
                Toast.makeText(getApplicationContext(),
                        day + "/" + month + "/" + year, Toast.LENGTH_LONG).show();
                if(day==30 && month==4 && year==2018)
                 {
                  startActivity(new Intent(CalendarApp.this, Image_View.class).putExtra("date",day+"_"+month+"_"+year));
                 }

            }

        }
    );

Также не забудьте добавить действие Image_View в манифест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...