2016-07-27 7 views
0

출근보기 안드로이드 나는 Viewpage달력 난 당신이 일을 통해 슬쩍 날 모드, Google 캘린더와 유사한 달력을 만들고 시간</p> <p>나는 사용자로 날짜를 업데이트하는 방법에 붙어 볼려고

012 용 어댑터를 설정

ListView에 어댑터

public class ListViewItems extends ArrayAdapter{ 
private Activity context; 
private ArrayList<String> horarios; 

public ListViewItems(Activity c, ArrayList<String> h){ 
    super(c, R.layout.listview_item, h); 
    this.context = c; 
    this.horarios = h; 

} 


@Override 
public View getView(int position, View view, ViewGroup viewGroup){ 
    LayoutInflater inflater = context.getLayoutInflater(); 
    View v = inflater.inflate(R.layout.listview_item, null, true); 
    TextView hor = (TextView)v.findViewById(R.id.horario); 
    hor.setText(horarios.get(position)); 
    return v; 
} 
} 

EventsFragment을 : 나는 무엇을 여기

을 것 와이프 3,516,

public class EventsFragment extends Fragment { 
private SharedPreferences.Editor editor; 
private SharedPreferences sharedPref; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.activity_events, container, false); 
} 
@Override 
public void onViewCreated(View view, Bundle savedInstanceState){ 
    ViewPager vp = (ViewPager)view.findViewById(R.id.viewpager); 
    SwipeAdapter sp = new SwipeAdapter(getActivity().getSupportFragmentManager()); 
    vp.setAdapter(sp); 
    vp.setCurrentItem(249); 
} 

슬쩍 어댑터

public class SwipeAdapter extends FragmentStatePagerAdapter { 
public SwipeAdapter(FragmentManager fm){ 
    super(fm); 
} 
@Override 
public Fragment getItem(int position) { 
    Fragment fragment = new CalendarFragment(); 
    return fragment; 
} 

@Override 
public int getCount() { 
    return 500; 
} 

} 내가 뭔가 일하고 하루

public class CalendarFragment extends Fragment { 

private Integer currentPosition; 

public CalendarFragment(){ 

} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    return inflater.inflate(R.layout.fragment_calendar, container, false); 

} 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 
@Override 
public void onViewCreated(View view, Bundle savedInstanceState){ 
    super.onViewCreated(view, savedInstanceState); 
    TextView text = (TextView)view.findViewById(R.id.day); 
    Calendar currentDate = Calendar.getInstance(); 
    String day = Integer.toString(currentDate.get(Calendar.DAY_OF_MONTH)); 
    text.setText(day); 
    ArrayList<String> horariosFixos = new ArrayList<String>(); 
    horariosFixos.add("01:00"); 
    horariosFixos.add("02:00"); 
    horariosFixos.add("03:00"); 
    horariosFixos.add("04:00"); 
    horariosFixos.add("05:00"); 
    horariosFixos.add("06:00"); 
    horariosFixos.add("07:00"); 
    horariosFixos.add("08:00"); 
    horariosFixos.add("09:00"); 
    horariosFixos.add("10:00"); 
    horariosFixos.add("11:00"); 
    horariosFixos.add("12:00"); 
    horariosFixos.add("13:00"); 
    horariosFixos.add("14:00"); 
    horariosFixos.add("15:00"); 
    horariosFixos.add("16:00"); 
    horariosFixos.add("17:00"); 
    horariosFixos.add("18:00"); 
    horariosFixos.add("19:00"); 
    horariosFixos.add("20:00"); 
    horariosFixos.add("21:00"); 
    horariosFixos.add("22:00"); 
    horariosFixos.add("23:00"); 
    horariosFixos.add("00:00"); 

    ListViewItems events = new ListViewItems(getActivity(),horariosFixos); 
    ListView events_list = (ListView)view.findViewById(R.id.events_list); 
    events_list.setAdapter(events); 


} 

의 시간과 목록보기를 채울 수 있지만,

그리고 내 CalendarFragment 나는 단지 수 ' 날짜를 업데이트하는 방법을 찾아야합니다. SwipeAdapter에 주어진 위치를 저장하고 getInstance()에서 하루를 더하거나 뺍니다. 그러나 작동하지 않는 것처럼 보였습니다.

도움이 되셨을 것입니다.

답변

0

좋아, 나는 당신의 질문에 명확하게 대답 할 수 있는지 잘 모르겠다. 그러나 나는 어떤 빛을 비추거나 생각을위한 음식을 줄 수 있을지도 모른다.

제 코드에서는 View Pager Listener를 설정했습니다. 코드에서 그렇게 할 수 있다면 원하는 기능을 제공 할 수 있다고 생각합니다.

public void setViewPagerListener() 
     { 
      view_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() 
      { 
       @Override 
       public void onPageSelected(int position) 
       { 
        //Log.i(TAG, "position: " + position); 
        // on changing the page 
        // make respected tab selected 
        //actionBar.setSelectedNavigationItem(position); 
       } 

       @Override 
       public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) 
       { 
        //Log.i(TAG, "positionOffset: " + positionOffset); 
        if (positionOffset >= .7) 
        { 
         handler_scrim_alpha.post(setScrimAlphaRunnable(.1f)); 
        } 
        else if (positionOffset < .7 && positionOffset >= .4) 
        { 
         handler_scrim_alpha.post(setScrimAlphaRunnable(.3f)); 
        } 
        else if (positionOffset < .5 & positionOffset >= .2) 
        { 
         handler_scrim_alpha.post(setScrimAlphaRunnable(.5f)); 
        } 
        else if (positionOffset < .2 && !(positionOffset == 0)) 
        { 
         handler_scrim_alpha.post(setScrimAlphaRunnable(.7f)); 
        } 
       } 

       @Override 
       public void onPageScrollStateChanged(int scrollState) 
       { 
        /*scrollState == 0 when the pager is idle and has finished it's scroll.*/ 
        scroll_state_global = scrollState; 

        if (scrollState == 0 && view_pager.getCurrentItem() == 1) 
        { 
         scroll_state_global = -1; 
         frame_input_scrim.setVisibility(View.INVISIBLE); 
         view_pager.setVisibility(View.INVISIBLE); 
        } 
       } 
      }); 
     } 
: 아래

내 애플 리케이션 중 하나의 예입니다