package com.talk.demo.time;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import com.talk.demo.R;
import com.talk.demo.persistence.DBManager;
import java.util.ArrayList;
public class TimeAllItem extends FragmentActivity {
private static String TAG = "TimeAllItem";
private String create_date;
private String create_time;
private String tag_title;
private ArrayList<TimeCache> record_cache;
private ViewPager mPager;
private TextView title_item;
private ImageView back_item;
private ArrayList<Fragment> fragmentsList;
private DBManager mgr;
private MyOnPageChangeListener pageListener;
MyFragmentPagerAdapter mMyPagerAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.time_all_item);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.bar_title_item);
title_item = (TextView)findViewById(R.id.title_item);
back_item = (ImageView)findViewById(R.id.back_item);
Bundle bundle = getIntent().getExtras();
tag_title = bundle.getString("tag_title");
create_date = bundle.getString("createdate");
create_time = bundle.getString("createtime");
record_cache = bundle.getParcelableArrayList("recordcache");
title_item.setText(tag_title);
back_item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
initViewPager();
mgr = new DBManager(this);
}
private int getIndexOf() {
int i = 0;
Log.d(TAG, "content value : "+create_time);
for(;i<record_cache.size();i++) {
Log.d(TAG, "cache content value : "+record_cache.get(i).getCreateTime());
if(create_time.equalsIgnoreCase(record_cache.get(i).getCreateTime()))
return i;
}
// should not call it.
Log.d(TAG, "Can't found in record cache");
i = 0;
return i;
}
private void initViewPager() {
mPager = (ViewPager) findViewById(R.id.vPager);
fragmentsList = new ArrayList<Fragment>();
for(int i=0;i<record_cache.size();i++) {
Fragment activityfragment = TimeItem.newInstance(record_cache.get(i));
fragmentsList.add(activityfragment);
}
mMyPagerAdapter =new MyFragmentPagerAdapter(this.getSupportFragmentManager(), fragmentsList);
mPager.setAdapter(mMyPagerAdapter);
int index = getIndexOf();
Log.d(TAG, "found in record cache :"+index);
mPager.setCurrentItem(index);
pageListener = new MyOnPageChangeListener();
mPager.setOnPageChangeListener(pageListener);
}
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> fragmentsList;
private int current;
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragments) {
super(fm);
this.fragmentsList = fragments;
}
@Override
public int getCount() {
return fragmentsList.size();
}
@Override
public Fragment getItem(int arg0) {
current = arg0;
return fragmentsList.get(arg0);
}
public int getCurrentPageIndex() {
return current;
}
@Override
public int getItemPosition(Object object) {
return super.getItemPosition(object);
}
}
public class MyOnPageChangeListener implements OnPageChangeListener {
private int current;
@Override
public void onPageSelected(int arg0) {
Log.d(TAG, "arg0 is : "+ arg0);
current = arg0;
}
public int getSelectedPageIndex() {
return current;
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
}
}