fragment使用方法
-
创建一个fragment类
import android.os.Bundle; import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class BlankFragment1 extends Fragment { View root; TextView textview; Button btn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (root == null) { root = inflater.inflate(R.layout.fragment_blank1, container, false); } textview = root.findViewById(R.id.tv); btn = root.findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textview.setText("谢谢,你呢?"); } }); return root; } }
-
新建一个fragment的xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context=".BlankFragment1"> <!-- TODO: Update blank fragment layout --> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="40dp" android:text="@string/hello_blank_fragment" /> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="40dp" android:text="你好吗?"> </Button> </LinearLayout>
-
如何将fragment与activity建立连接
在mainactivity的xml文件中添加一个fragment的控件
注:fragment必须有id,否则报错
<?xml version="1.0" encoding="utf-8"?> <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=".MainActivity"> <fragment android:name="com.example.fragmentbase.BlankFragment1" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/fragment1"> </fragment> </LinearLayout>
-