PDA

View Full Version : سوال در مورد شی گرایی برنامه



Sina.iRoid
چهارشنبه 03 دی 1393, 01:31 صبح
سلام دوستان.
من یه برنامه خیلی خیلی ساده نوشتم که کدهاشو در زیر مشاهده می کنید. می خواستم بدونم که از لحاظ شی گرایی چه ایراد هایی داره؟
البته برنامه خیلی سادست و اصلا فک نکنم لازم باشه که شی گرا نوشته شه ولی خب این برنامه ای که من نوشتم، کلاس اصلی فقط یه آبجکت ایجاد می کنه و کاره دیگه ای و انجام نمیده. می خواستم بدونم بهتر نبود که find کردن Button و TextView و داخل کلاس اصلی انجام می دادم.
ممنون.
کد کلاس ButtonHandler

import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class ButtonHandler implements View.OnClickListener{


// Field
private TextView textView;
private Button button;


// Constructor
ButtonHandler(MainActivity activity){
textView = (TextView) activity.findViewById(R.id.txt_View);
button = (Button) activity.findViewById(R.id.btn_1st);


button.setOnClickListener(this);
}


private int counter = 0;


@Override
public void onClick(View v) {
textView.setText(counter + "");
counter++;
}
}


و کد کلاس اصلی


import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


// Object from ButtonHandler
new ButtonHandler(this);
}
}


این هم فایل xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="match_parent">


<Button
android:id="@+id/btn_1st"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Counter"
android:textSize="25sp"
android:layout_marginTop="50dp"/>


<TextView
android:id="@+id/txt_View"
android:layout_gravity="center_horizontal"
android:layout_marginTop="25sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="40sp"/>


</LinearLayout>


ممنون میشم اگر راهنماییم کنید.

smemamian
چهارشنبه 03 دی 1393, 01:46 صبح
سلام

چه نیازی به ایجاد کلاس ButtonHandler بوده ؟