亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從自定義數組列表中獲取特定字符串的索引

如何從自定義數組列表中獲取特定字符串的索引

眼眸繁星 2023-02-23 10:03:53
我想獲取函數返回值的索引,但它只給我 -1 值。ArrayList<categoryoptions_class> arrayList;rb = new RadioButton[arrayList.size()];            for (int i = 0; i < arrayList.size(); i++) {                rb[i] = new RadioButton(detail_activity_rb.this);                rb[i].setPadding(5,5,5,5);                rb[i].setId(arrayList.get(i).getId());                rb[i].setTag(arrayList.get(i).getValue());                rb[i].setText(arrayList.get(i).getCategory_opt_name());                String a = checkdata(cat_id, rb[i].getId(), i);// this 'a' is returning perfect value but when i am trying to get the index of the value in a it gives me only -1; int sa = Arrays.asList(arrayList).indexOf(a);Toast.makeText(detail_activity_rb.this, sa + " :val", Toast.LENGTH_LONG).show();                //  int sa = i;                if (i == sa) {                    rb[i].setChecked(true);                }                rg.setPadding(5,5,5,5);                rg.addView(rb[i]);                checkpos(i,i);} public String checkdata(int cat_ids, int optids, int ia) {    String a = cat_ids + "";    String b = optids + "";    String c  = ia + "";    String aa = a + b;    Cursor cursor;   // Toast.makeText(getApplicationContext(),aa,Toast.LENGTH_LONG).show();    if(cat_type.equals("rb1"))    {         cursor = dbController.getdata("SELECT * FROM store_values WHERE catopt_id = '"+cat_ids+"';");    }    else    {         cursor = dbController.getdata("SELECT * FROM store_values WHERE catopt_id = '"+aa+"';");    }    //   arrayList.clear();    if (cursor.getCount() != 0)    {        String val = "";        while (cursor.moveToNext())        {            val = cursor.getString(8);        }        //Toast.makeText(detail_activity_rb.this,"H",Toast.LENGTH_LONG).show();        return val;    }    else    {        return "not";    }}
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

由于您的 arraylist 是 categoryoptions_class 類型,但您想要通過 index of 獲取的是一個字符串,因此它顯然會返回 -1(未找到)。這是您可以嘗試的東西:

  • 如果您的 categoryoptions_class 包含字符串類型的數據成員,并且您想要比較與該數據成員匹配的對象,則遍歷 arraylist 并訪問每個對象的該數據成員,然后在匹配時 breakout else 打印 -1。

  • 否則,如果您的 categoryoptions_class 沒有將任何數據成員作為字符串進行比較,那么您將需要構造一個 categoryoptions_class 的對象,然后您可以使用 indexOf 選項。


查看完整回答
反對 回復 2023-02-23
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

這里:

int sa = Arrays.asList(arrayList).indexOf(a);

那根本沒有意義。即arrayList聲明為:

ArrayList<categoryoptions_class> arrayList;

所以,您正在做的是:將 aArrayList<categoryoptions_class>變成 a List<ArrayList<categoryoptions_class>>。然后您詢問該列表是否包含字符串

某物列表的列表肯定不會包含String 對象。

不幸的是,您的其余代碼非常混亂,以至于我無法告訴您必須如何準確地“搜索”您的arrayList對象。


查看完整回答
反對 回復 2023-02-23
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

int index= 0;

                    for (categoryoptions_class categoryoptions_class : arrayList) {

                        if (categoryoptions_class.getCategory_opt_name().equals(a)) {

                            index= arrayList.indexOf(categoryoptions_class);

                            Log.d("Position", mArrayList.indexOf(products) + "");


                        }


                    }


查看完整回答
反對 回復 2023-02-23
  • 3 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號