Basic Android studio tutorial had previously been discussed about what was Activity in android programming language, which is then supplied also with how to send a value to another Activity with different layouts. On this occasion the basic studio android tutorial will discuss about what is fragment in android programming, as well as its usefulness. A discussion of this fragment will I divide into two parts, which in this first part I will focus on understanding the fragment as well as a simple example.
Fragment useful to divide the area into a display screen into several parts. Each section can be a separate activity. It is worthwhile to set the contents of the display on a display area, from the same viewing area or from a different viewing area. To better understand the meaning of this fragment we will immediately practice using the editor's favorite studio is android. Create a new project and name Fragment, where the project Fragment consists of some java and xml files as follows:
- MainActivity.java
- Fragment1.java
- Fragment2.java
- activity_main.xml
- fragment1.xml
- fragment2.xml
- AndroidManifest.xml
package com.dsoccerupdate.fragment; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
Source code Fragment1.java
Source code Fragment2.java
Source code activity_main.xml
package com.dsoccerupdate.fragment; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment1 extends Fragment{ @Override public void onAttach(Activity activity) { super.onAttach(activity); Log.d("Fragment 1", "onAttach"); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("Fragment 1", "onCreate"); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d("Fragment 1", "onCreateView"); return inflater.inflate(R.layout.fragment1, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Log.d("Fragment 1", "onActivityCreated"); } @Override public void onStart() { super.onStart(); Log.d("Fragment 1", "onStart"); } @Override public void onResume() { super.onResume(); Log.d("Fragment 1", "onResume"); } @Override public void onPause() { super.onPause(); Log.d("Fragment 1", "onPause"); } @Override public void onStop() { super.onStop(); Log.d("Fragment 1", "onStop"); } @Override public void onDestroyView() { super.onDestroyView(); Log.d("Fragment 1", "onDestroyView"); } @Override public void onDestroy() { super.onDestroy(); Log.d("Fragment 1", "onDestroy"); } @Override public void onDetach() { super.onDetach(); Log.d("Fragment 1", "onDetach"); } }
Source code Fragment2.java
package com.dsoccerupdate.fragment; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class Fragment2 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaceState) { return inflater.inflate(R.layout.fragment2, container, false); } @Override public void onStart() { super.onStart(); Button btnGetText = (Button) getActivity().findViewById(R.id.btnGetText); btnGetText.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { TextView lbl = (TextView) getActivity().findViewById(R.id.lblFragment1); Toast.makeText(getActivity(), lbl.getText(), Toast.LENGTH_SHORT).show(); } }); } }
Source code activity_main.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:id="@+id/fragmentContainer" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.dsoccerupdate.fragment.Fragment1" android:id="@+id/fragment1" android:layout_weight="1" android:layout_width="0px" android:layout_height="match_parent" tools:layout="@layout/fragment1" /> <fragment android:name="com.dsoccerupdate.fragment.Fragment2" android:id="@+id/fragment2" android:layout_weight="1" android:layout_width="0px" android:layout_height="match_parent" /> </LinearLayout>
Source code fragment1.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#00FF00"> <TextView android:id="@+id/lblFragment1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Tulisan di Fragment #1"/> </LinearLayout>
Source code fragment2.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFE00"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Ini fragment #2"/> <Button android:id="@+id/btnGetText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Mengambil Text dari fragment #1"/> </LinearLayout>
Source code AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dsoccerupdate.fragment" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Once you practice directly by making project Fragment, then I'm sure now you already understand the sense fragment in android programming language. I'm sure you've more adept and familiar with this android programming, because starting first article up to this time I explain in detail from the ground level. In the next article I will discuss about the fragment still the second part. If you have any questions please contact via email found on the contact page on this blog.
0 comments:
Post a Comment