snowman

مشکل در فراخوانی اکتیویتی مربوطه

1 ارسال در این موضوع قرار دارد

سلام

یه برنامه کتاب الکترونیکی نوشتم که همه چیش درست کار میکنه فقط تو قسمت جستجوش گیر کردم. تو برنامه از sqlite برای دیتابیس استفاده کردم که شامل یه table هست .برنامه 4 قسمت داره که واسه هر قسمت یه اکتیویتی ساختم که با استفاده از لیست ویو اطلاعاتو نشون میده . تو قسمت جستجو نمیتونم آیتم رو به اکتیویتی مورد نظر پاس بدم .نمیدونم اصلا امکانش هست یا نه راستش این اولین برنامم هستش ممنون میشم راهنماییم کنیید.

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import java.util.HashMap;
import java.util.List;

import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;

public class search extends AppCompatActivity
{
    private DatabaseHandler db;

    private ListView resultListView;

    private List<HashMap<String , Object>> resultBooks;


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

        getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

        resultListView = (ListView) findViewById(R.id.resultListView);

        db = new DatabaseHandler( getBaseContext() );

        db.open();

        if( db.getScreenState() == 1 ) {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        }

        db.close();
    }

    public void onBtnFindClick( View v )
    {
        resultListView.setAdapter(null);

        RadioGroup rGroup = (RadioGroup) findViewById(R.id.rgItems);

        int selected_item_id = rGroup.getCheckedRadioButtonId();

        RadioButton rbTitle = (RadioButton) findViewById(R.id.rbSearchByTitle);
        RadioButton rbContent = (RadioButton) findViewById(R.id.rbSearchByContent);

        String search_by = "";

        if( selected_item_id == rbTitle.getId() ) {
            search_by = "title";
        } else if( selected_item_id == rbContent.getId() ) {
            search_by = "content";
        }

        EditText etSearchKey = (EditText) findViewById(R.id.txtSearchKey);

        if( etSearchKey.getText().length() < 1 )
        {
            Toast.makeText(
                    getBaseContext() , getString(R.string.search_error_enter_text) ,
                    Toast.LENGTH_SHORT ).show();

            return;
        }

        String key = etSearchKey.getText().toString().trim();

        String[] keys = key.split("\\s+");

        String query = search_by + " LIKE '%" + keys[0] + "%'";

        StringBuilder sb = new StringBuilder();

        for( int i = 1; i < keys.length; i ++ )
        {
            sb.append( " OR " + search_by + " LIKE '%" + keys[i] + "%'" );
        }

        query = query + sb.toString();

        /* title LIKE '%ali%' OR title LIKE '%reza%' OR ... */

        showResultOfSearch(query);

    }


    public void showResultOfSearch(final String query )
    {
        db.open();

        resultBooks = db.getTableOfResultsOfSearch( query );


        db.close();

        if( resultBooks.size() < 1 )
        {
            Toast.makeText(
                    getBaseContext() , getString(R.string.search_error_not_found) ,
                    Toast.LENGTH_SHORT ).show();

            return ;
        }

        String[] from = { "title"  , "fav_flag" , "see_flag" };

        int[] to = { R.id.txtTitle  , R.id.setFav , R.id.setSee };

        SimpleAdapter adb = new SimpleAdapter(
                getBaseContext() , resultBooks ,
                R.layout.tbl_content_list_row , from , to
        );

        resultListView.setAdapter(adb);

        resultListView.setOnItemClickListener(
                new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id)
                    {
                            Intent i = new Intent(getBaseContext(), book_content4.class);

                            String my_id = resultBooks.get(position).get("id").toString();


                            i.putExtra("id", my_id);

                            startActivity(i);


                        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                    }
                }
        );


    }

    protected void attachBaseContext(Context newBase)
    {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }

}

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط MISIM
      وقتی برنامه رو اجرا میکنم این اخطار میده هر کاری کردم درست نشد.
      "Can't upgrade read-only database from version 0 to 1"
      کد:
      public List<ListView1> getAll(){ SQLiteDatabase db = getReadableDatabase(); List<ListView1> list = new ArrayList<>(); Cursor cursor = db.rawQuery("SELECT * FROM tbl1",null); Log.e("???","khande shod"); if(cursor.moveToFirst()){ do{ ListView1 listView = ListView1.cursorToListView1(cursor); list.add(listView); }while(cursor.moveToNext()); } cursor.close(); if(db.isOpen()) db.close(); return list; } خط دوم"SQLiteDatabase db = getReadableDatabase();"
    • توسط S3dhossein
      درود
      چگونه میتوان با استفاده از حلقه ی فور یک سری آبجکت رو صفت هاشو تنظیم کنیم ؟!
       
      مثلا این قطعه کد من نوشتم ولی ارور میده
       
      نمیدونم چطور باید مدیرت کرد آرایه از ابجکت ها رو در جاوا
       
      public void ReadOnlyEditableIstrue(){ for (int i=0;i<myList.size();i++) { myList.get(i).setFocusable(false); } }  
    • توسط soroush_l
      سلام. سوالم اینه که چطور میشه اطلاعات موجود در یک تگ script از یک html رو استخراج کرد؟ برای مثال script زیر رو در نظر بگیرید:
      <script id="ld" type="application/ld+json">{"@context": "http://schema.org/","@type": "Recipe","name": "طرز تهیه معجون پرتقال و هویج","image":"https://mamifood.org/images/files/Article/ART4643.jpg","author": {"@type":"Person","name":"مامی فود"},"datePublished": "7-26-2018 ","description": "طرز تهیه معجون پرتقال و هویج یک نوشیدنی سالم و آبمیوه طبیعی میکس شده با طعم سیب زمینی شیرین را در مامی فود دنبال کنید و از خوردن آن لذت ببرید. مامی فود لذت غذای خانگی","keywords":"انواع آبمیوه,سیب زمینی شیرین,آبمیوه طبیعی,نوشیدنی سالم,نوشیدنی خنک,رژیم دیابتی","prepTime": "PT10M","cookTime": "PT0M","totalTime": "PT10M","recipeYield": "1","recipeIngredient": ["سیب زمینی شیرین : 1 عدد","آب پرتقال : 2 عدد","هویج : 1 عدد","نعناع : برای تزئین"],"recipeInstructions": "<p style='text-align: justify;'>&nbsp; حتما از خودتان میپرسید: چرا برای تهیه آبمیوه باید از سیب زمینی شیرین استفاده کنیم؟ دلایل این امر کاملا روشن است؛ مثل هر میوه ی تازه و سالمی این ریشه ی خوراکی سرشار از ویتامین C، فیبر و آنتی اکسیدان است. ضمن اینکه به سیستم گوارش کمک فراوانی میکند و باعث سهولت هضم غذا میشود. اما مهم ترین نکته در مورد خواص این محصول این است که چون قند طبیعی دارد برایبیماران دیابتی بسیار مفید است و باعث کنترل قند خون میشود.</p> <p style='text-align: justify;'>برای تهیه 200 سی سی از این معجون ابتدا، سیب زمینی، پرتقال و هویج را پوست بگیرید. برای آبدار شدن آن می&zwnj;توانید برای مدتی آن را در آب قرار دهید، سپس هر سه را به همراه چند تکه یخ در میکسر بریزید و توسط مخلوط کن خوب هم بزنید تا مخلوط و کاملا یکدست شوند. این معجون یکی از پرانرژی ترین معجون&zwnj;ها می&zwnj;باشد. برای تزئین این معجون خوشمزه می&zwnj;توانید از چند برگه نعنا روی آن استفاده کنید. <br /><br /><br /></p> <p style='text-align: center;'><img src='/images/files/article/noshidani/carrot-orange-sweet-potato-juicing-recipe-2178.jpg' alt='معجون پرتقال و هویج' width='600' /></p>","interactionStatistic": [{"@type": "InteractionCounter","interactionType": "http://schema.org/Comment","userInteractionCount": "8"},{"@type": "InteractionCounter","interactionType": "http://schema.org/WatchAction","userInteractionCount": "111"}],"review": [{"@type": "Review","author": {"@type":"Person","name":"هانیه قلیزاده"},"datePublished": "7-28-2018 ","reviewBody": "<p>تلخ نمیشه اگر بمونه؟؟؟</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"معصومه رشيدآبادي"},"datePublished": "7-24-2018 ","reviewBody": "<p>عالي</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"اکرم اسدی"},"datePublished": "7-18-2018 ","reviewBody": "<p>باید امتحانش کنم</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"مریم قائم مقامیان"},"datePublished": "7-18-2018 ","reviewBody": "<p>جالبه...بستگی به ذائقه داره</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"ایران ثابتی جاغرق"},"datePublished": "7-9-2018 1","reviewBody": "<p>به امحانش می ارزه</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"زهرا اصلانی"},"datePublished": "7-4-2018 4","reviewBody": "<p>فوق‌العاده</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"فاطمه کرقلی "},"datePublished": "7-4-2018 1","reviewBody": "<p>با آب میوه طبیعی موافقم</p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}},{"@type": "Review","author": {"@type":"Person","name":"فاطمه کرقلی "},"datePublished": "7-4-2018 1","reviewBody": "<p>عالی و مخصوص تابستان </p>","reviewRating": {"@type": "Rating","bestRating": "5","ratingValue": "5","worstRating": "1"}}]}</script> توی این script اطلاعات یک غذا تو یه سایت آموزش آشپزی موجود هست. مثلا جلوی عبارت "name" اسم غذا رو نوشته جلوی عبارت "cookTime" زمان پختش رو نوشته. چطور میشه این مقادیر رو با دستورات jsoup در جاوا یا کاتلین استخراج کرد؟ خیلی تو اینترنت جستجو کردم ولی چیزی مشابه این پیدا نکردم.
    • توسط alizafar
      Hello all,
      I am trying to make a listview which have a checkbox. Meaning that every row of listview have one checkbox in it.
      I have made demo project. Project runs successfully but when i scroll the listview, checked boxes have lost their check mark.
       Can you solve this issue or can you provide a link to a tutorial which is solving this problem?

  • دوره آموزشی اندروید آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل