آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

به کار گیری متد در کلاس های دیگر

alireza  11 سال پیش  11 سال پیش
0 0

سلام 

دوستان این کد رو ببینید من می خوام متد  category  رو توی کلاسای دیگه به کار ببرم ولی اگه  static  تعریفش کنم از تعریف ui داخل متد ایراد میگره راهکاری هست برای اینکه من این قطعه کد هر جای دیگه خواستم به کار ببرم ؟

 package raeisi.hosein.course.app.note;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;


public class ActivityMain extends Activity {

    private ArrayAdapter adapter;
    public static String searchTotal;


    @Override
    protected void onResume() {
        G.currentActivity = this;
        super.onResume();

    }


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Category();

    }


    private void Category() {
        final ListView lstTelnet = (ListView) findViewById(R.id.lstTelnet);
        final EditText edtSearchTotal = (EditText) findViewById(R.id.edtSearchTotal);
        final ImageView imgSearchTotal = (ImageView) findViewById(R.id.imgSearchTotal);

        adapter = new AdapterNote(G.tasks);
        lstTelnet.setAdapter(adapter);

        Cursor cursor = G.database.rawQuery("SELECT DISTINCT task_category FROM task ", null);
        G.tasks.clear();
        while (cursor.moveToNext()) {
            StructTask table = new StructTask();
            table.category = cursor.getString(cursor.getColumnIndex("task_category"));

            G.tasks.add(table);
        }
        adapter.notifyDataSetChanged();
        cursor.close();

        edtSearchTotal.setVisibility(View.GONE);
        imgSearchTotal.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                edtSearchTotal.setVisibility(View.VISIBLE);

            }
        });
        edtSearchTotal.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                searchTotal = edtSearchTotal.getText().toString();

                Cursor counter = G.database.rawQuery("SELECT task_title,task_news,task_creater,task_date,task_thumbnail,task_url FROM task WHERE ((task_Title LIKE '%" + searchTotal + "%')or(task_news LIKE '%" + searchTotal + "%' )or (task_creater LIKE '%" + searchTotal + "%')or(task_date LIKE '%" + searchTotal + "%' )) ", null);
                G.tasks.clear();
                while (counter.moveToNext()) {

                    StructTask box = new StructTask();

                    box.title = counter.getString(counter.getColumnIndex("task_title"));
                    box.news = counter.getString(counter.getColumnIndex("task_news"));
                    box.creater = counter.getString(counter.getColumnIndex("task_creater"));
                    box.thumbnail = counter.getString(counter.getColumnIndex("task_thumbnail"));
                    box.url = counter.getString(counter.getColumnIndex("task_url"));
                    box.publicationDate = counter.getString(counter.getColumnIndex("task_date"));
                    box.done = false;
                    G.tasks.add(box);

                }
                adapter.notifyDataSetChanged();
                counter.close();

            }
        });

    }

}
0 0
خوب این طبیعیه یا باید این متد رو از UI اکتویتی مستقل کنید و یا اگر می خواید توی همه اکتویتی ها از این کنترل ها استفاده کنید ازشون یک view بسازید (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
سعید کاظمی  11 سال پیش
0 0

به نظر من :

باید اون یکی اکتیویتی هات رو با این ActivityMain اکستند کنی
مثلا

Activity extends ActivityMain

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .