这是碎片文化----Fragment
碎片
碎片的生命周期
回传碎片
效果展示
代码展示
Fragment代码
//布局xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragment.ShowFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:id="@+id/text_id_fro"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
</FrameLayout>
//java 代码
public class ShowFragment extends Fragment {
public ShowFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View inflate = inflater.inflate(R.layout.fragment_show, container, false);
//找到text
TextView textId = inflate.findViewById(R.id.text_id_fro);
Bundle arguments = getArguments();
if (arguments != null){
textId.setText(arguments.getString("name"));
}
return inflate;
}
}
activity代码
//xml布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.ShowActivity"
android:orientation="vertical">
<EditText
android:id="@+id/et_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="写东西"/>
<Button
android:id="@+id/btn_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="发送"/>
<FrameLayout
android:id="@+id/fl_show"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
// java代码
public class ShowActivity extends AppCompatActivity {
private EditText etId;
private Button btnId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
etId = (EditText) findViewById(R.id.et_id);
btnId = (Button) findViewById(R.id.btn_id);
FragmentManager supportFragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fl_show,new ShowFragment());
fragmentTransaction.commit();
btnId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager supportFragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
ShowFragment showFragment = new ShowFragment();
Bundle bundle = new Bundle();
bundle.putString("name",etId.getText().toString());
showFragment.setArguments(bundle);
etId.setText("");
fragmentTransaction.replace(R.id.fl_show,showFragment);
fragmentTransaction.commit();
}
});
}
}