我想在另一个活动的片段中设置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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)