【发布时间】:2013-12-21 06:06:49
【问题描述】:
我正在使用 ViewPager 和 Fragment 来显示来自 sqlite 的数据。所有页面的内容都是相同的,所以我对所有页面都使用了相同的 Fragment 类。在片段中有一个 TextView。而且Activity中有两个Button。
当从 Activity 中单击任何按钮时,我正在尝试更新 TextView 的文本。为此,我使用了interface 并覆盖了片段中的方法。一切正常。
注意:按钮在Activity中(所有页面通用)
问题 当我按下按钮时,它将更新下一页的文本视图。例如。当我单击 page1 中的按钮时,page2 的 textview 将被更新,依此类推。
我使用了以下代码。任何帮助将不胜感激。谢谢。
片段代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Create a new TextView and set its text to the fragment's section
// number argument value.
View view = inflater.inflate(R.layout.fragmentview, container, false);
txtAmount = (TextView) view.findViewById(R.id.txtAmount);
return view;
}
@Override
public void onPlusClick(String amount) {
// update textview here
}
@Override
public void onMinusClick(String amount) {
// update textview here
}
适配器代码
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a DummySectionFragment (defined as a static inner class
// below) with the page number as its lone argument.
Fragment fragment = new DummyFragment();
onClick = (onButtonClick) fragment;
return fragment;
}
@Override
public int getCount() {
// Show 3 total pages.
return arrModel.size();
}
@Override
public CharSequence getPageTitle(int position) {
return arrModel.get(position).fname;
}
活动代码
@Override
public void onClick(View v) {
if (v == btnMinus) {
onClick.onMinusClick(edtAmount.getText().toString());
} else if (v == btnPlus) {
onClick.onPlusClick(edtAmount.getText().toString());
}
}
【问题讨论】:
标签: android android-fragments android-activity android-viewpager