java– 来自另一个与fragment无关的活动的片段中的setText

java– 来自另一个与fragment无关的活动的片段中的setText,第1张

概述我想在另一个活动片段中设置textView,这个活动不是MainActivity有片段事务.已经尝试过与我的问题相关的其他相关文章中的一些方法,但是出了错误..这是我在片段中的方法来接收另一个活动片段A.publicclassFragmentAextendsFragment{@OverridepublicvoidonCr

我想在另一个活动的片段中设置textVIEw,这个活动不是MainActivity有片段事务.

已经尝试过与我的问题相关的其他相关文章中的一些方法,但是出了错误..

这是我在片段中的方法来接收另一个活动

片段A.

public class FragmentA extends Fragment {    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ProgressDialog pDialog = new ProgressDialog(getContext());        pDialog.setCancelable(false);    }    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,                             Bundle savedInstanceState) {        // Inflating vIEw layout        VIEw layout = inflater.inflate(R.layout.fragment_A, container, false);        //Put Data to ID fragment        valuename = (TextVIEw) layout.findVIEwByID(R.ID.valuenameNav);        valueStatus = (TextVIEw) layout.findVIEwByID(R.ID.valueStatusNav);    }    public voID setText(String name, String status){            valuename = (TextVIEw) getVIEw().findVIEwByID(R.ID.valuenameNav);            valuename.setText(name);            valueStatus = (TextVIEw) getVIEw().findVIEwByID(R.ID.valueStatusNav);            valueStatus.setText(status);    }}

这就是我如何从活动中调用片段中的setText方法

String editValuename= editname.getText().toString();String lastStatus = valueStatus.getText().toString();FragmentA mFragment = (FragmentA )     getSupportFragmentManager().findFragmentByID(R.ID.fragment_A);mFragment.setText(editValuename, lastStatus);

但是得到了这样的错误

java.lang.NullPointerException: Attempt to invoke virtual method ‘voID
com.example.study.fragment.fragmentA.setText(java.lang.String,
java.lang.String)’ on a null object reference

100%确定字符串getText上有数据字符串

解决方法:

在活动中创建一个FrameLayout,其ID容器的高度为MATCH_PARENT
然后像这样在你的活动中添加片段

FragmentA newFragment = new FragmentA ();            FragmentTransaction ft = getFragmentManager().beginTransaction();            ft.replace(R.ID.container, newFragment).commit();

而不是设置你的文字

String editValuename= editname.getText().toString();String lastStatus = valueStatus.getText().toString();newFragment .setText(editValuename, lastStatus);
总结

以上是内存溢出为你收集整理的java – 来自另一个与fragment无关的活动的片段中的setText全部内容,希望文章能够帮你解决java – 来自另一个与fragment无关的活动的片段中的setText所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存