2017-06-21 13 views
0

私はAndroidスタジオを使用していますが、これは私の未経験のために少し問題があります。私はCalendarViewButtonActivityを持っています。 Buttonを押すと、CalendarViewで選択された日付は、ActivityEditTextに設定されます。onClickシーケンスの問題

これは機能しますが、奇妙な方法です。通常、私はCalendarViewから日付を選択し、次にButtonをクリックすると、Intentが開始されますが、現在は反対の合計です。 Buttonをクリックしてから、インテントを開始して別のページにリダイレクトするために日付を選択する必要があります。

btnDone1 = (Button) findViewById(R.id.btnDone1); 
    btnDone1.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      calendar1.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){ 
       @Override 
       public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth){ 
        String date1 = dayOfMonth + "/" + (month + 1) + "/" + year; 
        Intent doneD = new Intent(RentStartActivity.this, SearchActivity.class); 
        doneD.putExtra("Date1", date1); 
        startActivity(doneD); 
       } 
      }); 

     } 
    }); 

が親切にどのように私はそれをコーディングする必要があり、私を見せて下さい:

は、ここに私のコードです。 お手数ですが、ありがとうございます!

答えて

0

あなたは、ボタンのOnClickListenerOnDateChangedListenerを設定し、そのボタンをクリックした後、それだけでリッスンします。私が理解から、あなたはこのような何かをしたい:

btnDone1 = (Button) findViewById(R.id.btnDone1); 
calendar1.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){ 
    @Override 
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth){ 
     btnDone1.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v){ 
       String date1 = dayOfMonth + "/" + (month + 1) + "/" + year; 
       Intent doneD = new Intent(RentStartActivity.this, SearchActivity.class); 
       doneD.putExtra("Date1", date1); 
       startActivity(doneD); 
      } 
     }); 
    } 
}); 

このコードSearchActivityに選択した日付を送信ボタンをクリックした後。

+0

ああ、啓発に感謝します:) – Justin

1

は日付を取得するためにSearchActivity

String date1; 
     calendar1.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){ 
      @Override 
      public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth){ 
       date1 = dayOfMonth + "/" + (month + 1) + "/" + year; 

      } 
     }); 

     btnDone1 = (Button) findViewById(R.id.btnDone1); 
     btnDone1.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v){ 

       Intent doneD = new Intent(RentStartActivity.this, SearchActivity.class); 
       doneD.putExtra("Date1", date1); 
       startActivity(doneD); 
      } 
     }); 

を以下試してください。

Intent intent = getIntent(); 
     String date = intent.getStringExtra("Date1");