android - 我想在片段中设置文本,但我现在可以做的是在下一个片段中设置文本
问题描述
我想让应用程序监听点击事件并执行 editText.setText 方法。但我无法访问正在显示的当前页面。setText 方法适用于下一个片段。我尝试了很多东西,但结果是一样的。代码是关于我的片段的。(片段在 viewpager 上)
public class myFragment extends Fragment{
EditText editText;
webTomainadapter wtma=new webTomainadapter();
viewPagerAdapter ad=new viewPagerAdapter(getFragmentManager());
String s;
public myFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
wtma.setOnItemListener(new webTomainadapter.OnItemClickListener() {
@Override
public void onItemClick(String v, int position) {
editText.setText(editText.getText().append(v));
}
});
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
final View root=inflater.inflate(R.layout.fragment_my, container, false);
editText=root.findViewById(R.id.editText);
editText.setHint("HINT");
listener();
return root;
}
public void listener(){
wtma.setOnItemListener(new webTomainadapter.OnItemClickListener() {
@Override
public void onItemClick(String v, int position) {
Log.i("info","listener");
Fragment current=getActivity().getSupportFragmentManager().findFragmentById(R.id.viewPage);
if(current instanceof myFragment){
FragmentTransaction fragmentTransaction=
(getActivity()).getSupportFragmentManager().beginTransaction();
fragmentTransaction.detach(current);
fragmentTransaction.attach(current);
editText.setText(editText.getText().append(v));
fragmentTransaction.commit();
}
}
});
}
}
解决方案
使用捆绑
Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putString(key, value);
fragment.setArguments(bundle);
在 onCreate() 方法中检索数据,在下一个片段中
Bundle bundle = this.getArguments();
if (bundle != null) {
String str = bundle.getInt(key, defaultValue);
}
推荐阅读
- python - 将天转换为年、月和日
- reactjs - 无法在reactjs中获取下拉值
- laravel - 在 Laravel 中验证用户令牌
- javascript - 如何将两个复选框数组链接在一起 JavaScript
- hadoop - 蜂巢没有从 hive.aux.jars.path 拿起罐子
- python - 为什么 scikit-learn mlp 训练需要太多时间?
- mysql - 在查询结果中包含计数
- python - 使用 Selenium 单击元素时遇到问题
- python - Django I18n - 在 Python 代码中翻译的问题
- python - 为什么 Python 集不保留插入顺序?