کلیدستان

نسخه‌ی کامل: ایجاد کلیک لیسینر (برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام به همگی ایا امکان داره  کلیک لیسینر یا هر لیسینر دیگه ای رو خارج از oncreate  ایجاد کرد اگه می شه با مثال توضیح بدهید مرسی
کد پی‌اچ‌پی:
<TextView
"android:onClick="onClickTx
/> 

کد پی‌اچ‌پی:
public void onClcikTx(View v){
//your code ...


سلام 

یه راهش اینه که ویژگی از android:onClick   استفاده کنید
مرسی از راهنمای
ولی منظور من دقیقا کلیک لیسینر بود
مثلا ایتم سلکت spiner
نه فقط رویداد کلیک
سلام

میتونید View.OnClickListener رو در Activity مربوطه implements کنید 
به این صورت

کد:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{

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

       final EditText editText = (EditText) findViewById(R.id.etadd);
       final Button btn = (Button) findViewById(R.id.btnadd);
btn.setOnClickListener(this);
}

   @Override
   public void onClick(View v) {

       switch (v.getId()) {
           case R.id.btnadd :  ;
           case R.id.etadd : ;
       }
   }
}

بعد از ان میتونید از تابه OnClick جهت مدیریت آنها استفاده کنید

کد:
   @Override
   public void onClick(View v) {

       switch (v.getId()) {
           case R.id.btnadd :  ;
           case R.id.etadd : ;
       }
   }
مرسی بابت کمک خیلی خوب بود
اما من این کار رو برای ایتم سلکت اسپینر می خواستم که وقتی ایمپلمنت اضافه می شه همچین متودی وجود نداره می شه لطفا در این باره توضیح بدید
خواهش میکنم

برای Spinner معمولا از Onclicklistener استفاده نمیشه
برای مدیریت انتخابها از Listener زیر استفاده کنید
spinner.setOnItemSelectedListener
چطور می شه این لیسینر رو خارج از oncreate نوشت
میتونید به این صورت عمل کنید

کد:
Spinner spinner = new Spinner(this);
       
       spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           @Override
           public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
               selectItem();
           }

           @Override
           public void onNothingSelected(AdapterView<?> adapterView) {

           }
       });
   }

   private void selectItem() {
       
   }

یا به این صورت

کد:
public class MainActivity extends AppCompatActivity implements Spinner.OnItemSelectedListener {

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

       Spinner spinner = new Spinner(this);
   }
   

   @Override
   public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
       
   }

   @Override
   public void onNothingSelected(AdapterView<?> adapterView) {

   }
}