我正在制作机密的android应用程序,从一个月开始,我陷入了一个问题。情况如下。
,我有一个活动,其中一个片段显示了像olx这样的片段( Ads_display )上的广告,在工具栏中,我有一个城市搜索片段,用户可以在这里更改城市,当片段被创建时,它工作得非常好,但是在片段激活后,textView的更新值(我从城市搜索片段中获取textView值)在每次吐司时都不会被转移到Ads_display片段,每次它给我展示在创建片段时传递的旧城市名称,因为我不能在这里粘贴我的代码片段,因为我每天都在尝试一些东西。现在的情况是,我甚至不明白我做了什么。
请用你的宝贵答案帮助我解决这个问题,谢谢你的advanced.because,我已经达到了我的截止日期。
发布于 2019-01-20 07:38:16
我本来会否决这个问题的,但你似乎处境艰难。
首先检查如何在片段之间传递数据:
以下是我要做的事:
//Set the edit text on a changed listener
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// Pass values from your fragment to your other fragment
Bundle b = new Bundle();
b.putString("city", s);
FragmentB fragB = new FragmentB();
fragB.setArguments(b);
getFragmentManager().beginTransaction().replace(R.id.your_container, fragB);
}
});
Then you have to receive your values in the fragment
Bundle b = this.getArguments();
if(b != null){
String city = b.getString("city");
}如果搜索的值来自某个活动,那么只需将该值从该活动传递到该片段:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Bundle bundle = new Bundle();
bundle.putString(s, "city");
tab1.setArguments(bundle);
}
});然后获取片段中的参数
if (getArguments() != null) {
String city = getArguments().getString("city);
}或者你可以使用一个接口,我看不到你的代码,所以我不能说哪一个最适合你。
https://stackoverflow.com/questions/54274361
复制相似问题