从片段中获取字符串
Get String from Fragment
考虑一下:
MainActivity 有一个 TextView id = txtMain
;
Activity2 有一个名为 Fragment1
;
的片段
Fragment1 有一个 TextView id = txtFrag;
如何从 fragment 中获取出现在 MainActivity 中的字符串?
我尝试使用 Bundle 但无法正常工作。
这是使用 Bundle 的工作代码,您可以检查您的代码是否有错误或post在此处进行审查。
MainActivity.java
String textViewText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Bundle textBundle=getIntent().getExtras();
textViewText=textBundle.get("TextView").toString();
}
@Override
protected void onResume() { // used onResume because until this call activity is created completely
super.onResume();
TextView textViewWidget=(TextView) findViewById(R.id.textView);
textViewWidget.setText(textViewTexts);
}
Fragment1.java
TextView text;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle
savedInstanceState) {
// Inflate the layout for this fragment
final View view = inflater.inflate(R.layout.toolbar_fragment,
container, false);
Button newActivity=(Button) view.findViewById(R.id.new_activity_button);
newActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text=(TextView) view.findViewById(R.id.txtFrag);
Intent newActivityIntent=new Intent(getActivity(),Main2Activity.class);
newActivityIntent.putExtra("TextView",text.getText());
startActivity(newActivityIntent);
}
});
}
考虑一下:
MainActivity 有一个 TextView id = txtMain
;
Activity2 有一个名为 Fragment1
;
Fragment1 有一个 TextView id = txtFrag;
如何从 fragment 中获取出现在 MainActivity 中的字符串? 我尝试使用 Bundle 但无法正常工作。
这是使用 Bundle 的工作代码,您可以检查您的代码是否有错误或post在此处进行审查。
MainActivity.java
String textViewText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Bundle textBundle=getIntent().getExtras();
textViewText=textBundle.get("TextView").toString();
}
@Override
protected void onResume() { // used onResume because until this call activity is created completely
super.onResume();
TextView textViewWidget=(TextView) findViewById(R.id.textView);
textViewWidget.setText(textViewTexts);
}
Fragment1.java
TextView text;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle
savedInstanceState) {
// Inflate the layout for this fragment
final View view = inflater.inflate(R.layout.toolbar_fragment,
container, false);
Button newActivity=(Button) view.findViewById(R.id.new_activity_button);
newActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text=(TextView) view.findViewById(R.id.txtFrag);
Intent newActivityIntent=new Intent(getActivity(),Main2Activity.class);
newActivityIntent.putExtra("TextView",text.getText());
startActivity(newActivityIntent);
}
});
}