تعریف یک Button (و کدهای لازم برای اجرا، هنگام اشاره کاربر به Button)، در یک Fragment ، در برنامه نویسی اندروید
تعریف یک Button برای یک Fragment ، ساده می باشد و همانند تعریف TextView در Fragment ، زیاد کدنویسی ندارد، اما برای آنکه یک سری کد تعیین کنیم که بعد از اشاره بر روی Button ، اجرا شوند، باید تغییراتی را در ساختار کدنویسی Fragment بدهیم.
فرض کنید که نام فایل xml مربوط به Fragment مورد نظر ما برابر android_frag.xml باشد، کدهای فایل android_frag.xml را به صورت زیر می نویسیم :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
که در آن، یک Button با id برابر button1 تعریف شده است.
نام فایل java مربوط به fragment را برابر Android.java در نظر گرفته و کدهای آن را به صورت زیر می نویسیم :
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
public class Android extends Fragment implements View.OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View android = inflater.inflate(R.layout.android_frag, container, false);
Button b = (Button) android.findViewById(R.id.button1);
b.setOnClickListener(this);
return android;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
// code for after click on button
break;
}
}
}
دقت کنید که به جای عبارت زیر :
باید کدهای مورد نظرمان برای اجرا بعد از اشاره بر روی Button را بنویسیم.
توجه داشته باشید که نام package که در خط اول کدها نوشته شده را باید برای پروژه اندروید خود تغییر بدهید.
همچنین اگر به کدها دقت کنید، متوجه می شوید که عبارت زیر، به انتهای خط اول تعریف Fragmnet افزوده شده است :
که اهمیت زیادی دارد و نباید فراموش شود.
تشکر فراوان
thank you very much