سرچ در لیست ویو شخصی سازی شده

گزارش
سوال

لطفا علت گزارش خود را توضیح دهید.

گزارش لغو

سلام دوستان عزیز میخواست یک سرچ یرای لیست ویوو درست کنم اما موفق نمیشم

این کد برنامه هستشنمیدونم کجاش اشتباه هستش

package morteza.mydoctor;


        import android.app.SearchManager;
        import android.content.Context;
        import android.content.Intent;
        import android.os.Bundle;
        import android.app.Activity;
        import android.sax.StartElementListener;
        import android.support.v4.view.MenuItemCompat;
        import android.view.Menu;
        import android.view.MenuInflater;
        import android.view.MenuItem;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.Button;
        import android.widget.ListView;
        import android.widget.SearchView;
        import android.widget.TextView;
        import android.widget.Toast;
        import android.widget.AdapterView.OnItemClickListener;

        import java.util.ArrayList;

        import static morteza.mydoctor.R.drawable.folder;

public class Activity2 extends Activity {

    private ListView listViewArticles ;
    ArrayList<String> items;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_2);


      /*
       * Data can be from your database. You have to know the number of list
       * items in advanced, in our example, we have 9
       */
        final Folder[] folderData = new Folder[9];


      /*
       * @always start with index 0
       *
       * @۹ items in our list view.
       */
        folderData[0] = new Folder(R.drawable.doctor_man2, "Usher",
                "My most favorite Usher songs.");

        folderData[1] = new Folder(R.drawable.doctor_woman2,
                "Family Images", "Pictures from different occasions.");

        folderData[2] = new Folder(R.drawable.doctor_man2,
                "Budget Spreadsheet", "My budget record every week.");

        folderData[3] = new Folder(R.drawable.doctor_woman2, "FM Static",
                "One of my most favorite bands.");

        folderData[4] = new Folder(R.drawable.doctor_man2,
                "Outing 2012", "Pictures in Boracay Island.");

        folderData[5] = new Folder(R.drawable.doctor_woman2,
                "Business Spreadsheet", "Business accounts record.");

        folderData[6] = new Folder(R.drawable.doctor_man2, "New Artists",
                "Cool songs by new artists.");

        folderData[7] = new Folder(R.drawable.doctor_woman2,
                "Anniversary 2012", "Company party.");

        folderData[8] = new Folder(R.drawable.doctor_man2,
                "Credit Spreadsheet", "Credit records every month.");

        // Pass the folderData to our ListView adapter
        FolderAdapter adapter = new FolderAdapter(this,
                R.layout.row1, folderData);


        // Set the adapter to our ListView
        listViewArticles = (ListView) findViewById(R.id.listView1);
        listViewArticles.setAdapter(adapter);

      /*
       * ListView item click listener. So we'll have the do stuff on click of
       * our ListItem
       */
        listViewArticles.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                switch( position )
                {
                    case 0:  Intent intent = new Intent(Activity2.this, profile1.class);
                        startActivity(intent);
                        break;
                    case 1: Intent intent1 = new Intent(Activity2.this, profile2.class);
                        startActivity(intent1);
                        break;

                }





        }

        });


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater= getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        final MenuItem searchItem= menu.findItem(R.id.search);
        SearchView searchView= (SearchView) MenuItemCompat.getActionView(searchItem);
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {



                    return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                ArrayList<String> templist = new ArrayList<>();

                for (String temp : items) {
                    if (temp.toLowerCase().contains(newText.toLowerCase())){
                        templist.add(temp);
                    }
                }
                ArrayAdapter<String> adapter= new ArrayAdapter<>(Activity2.this,
                        android.R.layout.simple_list_item_1, templist);
                listViewArticles.setAdapter(adapter);

                return false;
            }
        });


        return super.onCreateOptionsMenu(menu);
    }

    /*
         * You can put this in another java file. This will hold the data elements
         * of our list item.
         */
    class Folder {

        public int folderIcon;
        public String folderName;
        public String folderDescription;

        // Constructor.
        public Folder(int folderIcon, String folderName,
                      String folderDescription) {

            this.folderIcon = folderIcon;
            this.folderName = folderName;
            this.folderDescription = folderDescription;
        }
    }
}

در حال پیشرفت 0
اندروید - android 1 پاسخ 91 بازدید 0

درباره نویسنده

پاسخ ( ۱ )

  1. ehsan.k
    0
    ۱۴, اسفند , ۱۳۹۷ در ۱۱:۲۸ ب.ظ

    لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.

    گزارش لغو

    با سلام خدمت شما دوست عزیز
    آموزش این موضوع داخل سایت هست… چک بفرمایید…
    دوم اینکه اگه شما متنی رو مینویسین ولی اتفاقی نمیفته دلیل بر اینه که آرایه فیلتر شما همون اطلاعات اولیه رو میگیره و تغییرات جدید رو نمیگیره…
    شما باید مقدار آرایه فیلتر شده رو داخل آدپتر با لاگ چک کنید و ببینید که مقدارش بعد از تغییرات چقدره…
    همونطور که میدونید که باید متد فیلتر درست نوشته شده باشه و داخل شنونده ادیت تکست صدا زده بشه…

    بهترین روش برای حل اینجور مسائل، فقط لاگ گرفتن از برنامتونه… چیز خاصی نیست… راحت پیداش میکنید…

    شاد و پیروز باشید.

ارسال نظر