【问题标题】:Not able to pass EditText field data to textviewfield in viewpager无法将 EditText 字段数据传递到 viewpager 中的 textviewfield
【发布时间】:2021-08-29 03:11:45
【问题描述】:

我正在实现如下所示的应用程序: https://www.simplifiedcoding.net/android-tablayout-example-using-viewpager-fragments/

除了上面给出的布局。我在顶部添加了一个 EditText 框,旁边有显示按钮。现在,当我单击“显示”按钮时,我正在传递 EditTextbox 中存在的文本值,即在 EditTextbox 中写入“Great”,因此我将其修改为 Tab1-Great、Tab2-Great 并将其传递给 viewPager 函数并设置它到相应选项卡中的 textview 并通知更改。但是信息在不同选项卡的文本视图中没有得到更新。

请指导。

Mainactivity相关代码:

''' pageAdapter = new PageAdapter(getSupportFragmentManager(),tabLayout.getTabCount(), mEdit.getText().toString()); viewPager.setAdapter(pageAdapter); ''' PageAdapter 相关代码:

''' 公共片段getItem(int位置){ 开关(位置) { 案例0: ftb1 = 新的 ftab1(mEdit); 返回ftb1; } } '''

标签代码: '''公共类 ftab1 扩展 Fragment {

private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private static String passedparam="Default";

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;



public ftab1(String searchText) {
    
        passedparam = locapassedparam;

   }


// TODO: Rename and change types and number of parameters
public static ftab1 newInstance(String param1, String param2) {
    ftab1 fragment = new ftab1(passedparam);
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View myView = inflater.inflate(R.layout.fragment_ftab1, container,  false);

    //textview related code


   return myView;
}

}'''

【问题讨论】:

    标签: android android-viewpager android-tablayout


    【解决方案1】:

    您至少应该发布一张图片或您的代码 在 tablayout 每个选项卡是一个片段,所以如果你想在片段之间传递一个字符串,你可以使用意图或使用界面(使用时按下按钮触发) 一旦你传递了变量,你可以简单地将它设置为“onTabSelected”方法的文本视图。教程很多,随便搜一下

    【讨论】:

    • 我已经编辑了我的问题以添加代码。而 OnTabSelected 我正在使用以下代码:''' tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { viewPager.setCurrentItem(tab.getPosition()); } '''
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多