2014-11-08 87 views
0

我爲一個calendarview編寫了一個程序,該程序無法正常工作,因爲我想要。 首先,我有一個按鈕,當點擊打開一個新的活動,其中有一個線性佈局裏面,我有3個textviews的日月年,我有一個對話框打開點擊線性佈局,正如我說我有3我的線性佈局內的textviews,而不是使用三個不同的點擊監聽器,我使用線性佈局ID的幫助onclick,所以我的日曆對話框打開,但即時通訊使用calendar.setOnDateChangeListener我的應用程序崩潰給我一個錯誤監聽器,現在我想知道我應該在哪裏使用setondatechangelistener,在我的活動類?或在我的片段類? 因爲我的日曆對話框上點擊打開了,但我想設定的日期我的TextView裏面,當我選擇一個特定的日期 需要一些幫助,請CalendarView無法正常工作

下面這裏是我上面的解釋代碼,我也評論我calender.setondatechangelistener

我MainActivity.java

l1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      android.app.FragmentManager manager = getFragmentManager(); 
      CalendarAlert dialog = new CalendarAlert(); 

      dialog.show(manager, "MyDialog"); 

     } 

    }); 

    /* 

     calendar.setOnDateChangeListener(new OnDateChangeListener() { 

     @Override public void onSelectedDayChange(CalendarView view, int 
     year, int month, int dayOfMonth) { 
     // TODO Auto-generated method stub 

     } }); 
    */ 

} 

我CalenderAlert.java

public class CalendarAlert extends DialogFragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    View view = inflater.inflate(R.layout.calendar, container, false); 
    setCancelable(true); 
    return view; 
} 

}

回答

1

在java中我們可以在另一個類中有類。

因此,把你的CalendarAlert-DialogFragment放到你的活動中。讓你的3 TextView全球範圍內,並設置它們在setondatechangelistener方法。