ورود

View Full Version : find کردن یک دکمه توسط متد های گتر و ستر



Sina.iRoid
دوشنبه 15 دی 1393, 19:13 عصر
سلام

دوستان من دارم یه برنامه ای می نویسم و فیلد های برنامه رو مثه Button, TextView و ... در یه کلاس جدا و به صورت private تعریف کردم و براشون هم متد های گتر و ستر نوشتم.

می خوام در اکتیویتی اصلی یه دکمه رو find کنم. کد به صورت زیره:

این کد هایی که داخل کلاس FieldsClass تعریف کردم.


import android.widget.Button;
import android.widget.EditText;


public class FieldsClass {


private Button startBtn;
private EditText heightEditText;
private EditText weightEditText;


//Getter and setter
public Button getStartBtn() {
return startBtn;
}


public void setStartBtn(Button startBtn) {
this.startBtn = startBtn;
}


public EditText getHeightEditText() {
return heightEditText;
}


public EditText getWeightEditText() {
return weightEditText;
}
}


این هم کلاس اصلی برنامه:


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity {




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


// Object from FieldClass
FieldsClass fieldsClassOb = new FieldsClass();


// Link to UI
fieldsClassOb.getStartBtn().findViewById(R.id.BtnS tart);


// OnClickListener
fieldsClassOb.getStartBtn().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nextActivity = new Intent(MainActivity.this, SecondActivity.class);
startActivity(nextActivity);
}
});
}
}


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

lastcoder
دوشنبه 15 دی 1393, 20:00 عصر
شما باید از فایل xml که توش این viewها قرار داره یک inflate بگیرید (یعنی تبدیلش کنید به یک view)



LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.mylayout,null);

TextView txtFirst = (TextView) view.findViewById(R.id.txtFirst);

Sina.iRoid
دوشنبه 15 دی 1393, 22:30 عصر
سلام
ممنون از راهنماییتون. اما به صورت زیر هم شد


// Object from FieldClass
FieldsClass fieldsClassObject = new FieldsClass();


// Link to UI
fieldsClassObject.setStartBtn((Button) findViewById(R.id.BtnStart));


سپاس از شما