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

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

從 CustomView 中檢索 id 實例化在另一個類中

從 CustomView 中檢索 id 實例化在另一個類中

牛魔王的故事 2021-11-03 16:26:03
基本上,我有一個 ExpandableListView 中每個標題的 Textview 列表。我想將數據庫中的 id 放在 TextView 的屬性中,以便稍后檢索。我創建了一個 CustomView“ChampText”,其 CustomAttribute idveh 是 id。public class ChampText extends android.support.v7.widget.AppCompatTextView{public String idveh;public ChampText(Context context){    super(context);}public ChampText(Context context, AttributeSet attribute) {    super(context, attribute);    TypedArray ta = context.obtainStyledAttributes(attribute, R.styleable.ChampText);    idveh = ta.getString(R.styleable.ChampText_idveh);    ta.recycle();}public String getIdveh() {    return idveh;}public void setIdveh(String idveh) {    this.idveh = idveh;}}和 attrs.xml :<resources>  <declare-styleable name="ChampText">    <attr name="idveh" format="string"/>  </declare-styleable></resources>我在 getData() 方法中創建了我的“ChampText”列表:public HashMap<String, List<ChampText>> getData(List<VehiculeModel> list) {    List<String> expVehicule = new ArrayList<String>();    HashMap<String, List<ChampText>> expandableListDetail = new HashMap<String, List<ChampText>>();        for (VehiculeModel vehicule : list) {            List<ChampText> expTextViewVehicule = new ArrayList<ChampText>();            ChampText mesPleins = new ChampText(context);            ChampText supprimer = new ChampText(context);            String nomVehicule = "";            String vehid = String.valueOf(vehicule.getId());            nomVehicule = vehicule.getVehiculeNom() + "\n" + vehicule.getVehiculeType();            mesPleins.setText("Mes Pleins");            mesPleins.setId(vehicule.getId());            mesPleins.setIdveh(vehid);}此時,我的 id 是好的 id(第一個車輛為 1,第二個為 2,等等),我嘗試將它分配給我為每輛車創建的每個項目的屬性 idveh。在我的 MainPage 上,我的 Views ChampText 創建得很好
查看完整描述

2 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

嘗試使用

context.getTheme().obtainStyledAttributes(attribute, R.styleable.ChampText);

唯一的區別是您將從上下文中使用 getTheme 方法


查看完整回答
反對 回復 2021-11-03
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

我解決了我的問題。


我有一個班級會產生我的觀點(尤其是我的孩子觀點)。


我得到了這個方法:


@Override

public View getChildView(int listPosition, final int expandedListPosition,

                         boolean isLastChild, View convertView, ViewGroup parent) {

    final ChampText expandedListText = (ChampText) getChild(listPosition, expandedListPosition);

    if (convertView == null) {

        LayoutInflater layoutInflater = (LayoutInflater) this.context

                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        convertView = layoutInflater.inflate(R.layout.list_item, null);

    }

    ChampText expandedListTextView = (ChampText) convertView

            .findViewById(R.id.expandedListItem);

    expandedListTextView.setText(expandedListText.getText());

    expandedListTextView.setIdveh(expandedListText.getIdveh());

    return convertView;

}

我expandedListTextView.setIdveh(expandedListText.getIdveh());在最后添加了一行 : 。


顯然,它有效..


好吧,謝謝大家花時間!


查看完整回答
反對 回復 2021-11-03
  • 2 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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