我希望我的应用在ViewPager
(每页一个图表)中显示多个图表,并且当我触摸它时每个图表中都有一个按钮,应用程序会显示包含原始数据的表格。
以下是可能情景的示例:
当我滑动时,应用程序显示chart1,它显示chart2。但是当我触摸按钮时,它会显示第一张图表的原始数据。 当应用程序显示原始数据并且我滑动时,它会显示下一个图表的原始数据。每次我都可以回到显示图表。
修改
这是我尝试过的东西(到目前为止我只使用TextView
,直到我有一些工作)
它不起作用也没有例外。
public class PageGaucheFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.page_one_layout,container, false);
v.findViewById(R.id.tv1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.layout_one, RawFragment.newInstance());
ft.commit();
}
});
return v;
}
}
RawFragment
夸大了这种布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:contentDescription="@string/desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
viewpager.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip" />
</LinearLayout>
FragmentsSliderActivity.java
public class FragmentsSliderActivity extends FragmentActivity {
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.viewpager);
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this,PageGaucheFragment.class.getName()));
fragments.add(Fragment.instantiate(this,PageMilieuFragment.class.getName()));
fragments.add(Fragment.instantiate(this,PageDroiteFragment.class.getName()));
this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
pager.setAdapter(this.mPagerAdapter);
PageIndicator mIndicator = (PageIndicator)findViewById(R.id.indicator);
mIndicator.setViewPager(pager);
}
}
MyPagerAdapter.java
public class MyPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragments
public MyPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}
问候。