第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在CustomAdapter類中調(diào)用新的意圖?

如何在CustomAdapter類中調(diào)用新的意圖?

慕哥9229398 2023-10-19 21:44:16
我對 Android Studios 相當(dāng)陌生,并且在從 CustomAdapter 類調(diào)用新活動(dòng)時(shí)遇到問題。在應(yīng)用程序中,用戶應(yīng)該單擊 ListView 中的文本并打開一個(gè)顯示聯(lián)系人各自詳細(xì)信息的新活動(dòng)。我有一個(gè)名為openContactDetails的方法,位于MainActivity.java中,它接受參數(shù)Context context、String currName、String currNumber。我在CustomAdapter.java中調(diào)用openContactDetails。openContactDetails位于MainActivity.java中:    //...prior code    public void openContactDetail(Context context, String currName, String currNumber){        Intent intent = new Intent(context, ContactDetails.class);        intent.putExtra("contactName", currName);        intent.putExtra("contactPhone", currNumber);        startActivity(intent);    }CustomAdapter.java并調(diào)用openContactDetails:    private class ViewHolder{        protected CheckBox checkBox;        private TextView contactName;    }    public View getView(final int position, View convertView, ViewGroup parent){        final ViewHolder holder;        holder.checkBox = (CheckBox) convertView.findViewById(R.id.cb);        holder.contactName = (TextView) convertView.findViewById(R.id.contact_name);        holder.contactName.setOnClickListener(new View.OnClickListener(){            MainActivity test = new MainActivity();            @Override            public void onClick(View v){            //Toast.makeText(context, contactList.get(position).getName() + " selected at " + position, Toast.LENGTH_SHORT).show();            test.openContactDetail(context,contactList.get(position).getName(), contactList.get(position).getNumber());        }    });
查看完整描述

1 回答

?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

您不應(yīng)該在 MainActivity 中調(diào)用該方法。如果您需要該方法,可以使用接口進(jìn)行通信。我給你舉了一個(gè)例子。您必須首先創(chuàng)建一個(gè)接口。


public interface ICustomAdapterListener { 

  void openContactDetail(String currName, String currNumber);

}

那么你應(yīng)該在活動(dòng)中使用它。


ICustomAdapterListener customAdapterListener = new ICustomAdapterListener() {

    @Override

    public void openContactDetail(String currName, String currNumber) {

        Intent intent = new Intent(context, ContactDetails.class);

        intent.putExtra("contactName", currName);

        intent.putExtra("contactPhone", currNumber);

        startActivity(intent);

    }

};

為了訪問活動(dòng)中定義的接口,我們需要向適配器提供接口對象。


我們可以使用 CustomAdapter 的構(gòu)造函數(shù)來實(shí)現(xiàn)這一點(diǎn)。


private ICustomAdapterListener listener;


public CustomAdapter(ICustomAdapterListener listener) {

    this.listener = listener;

}

最后


public View getView(final int position, View convertView, ViewGroup parent){

    final ViewHolder holder;


    holder.checkBox = (CheckBox) convertView.findViewById(R.id.cb);

    holder.contactName = (TextView) convertView.findViewById(R.id.contact_name);


    holder.contactName.setOnClickListener(new View.OnClickListener(){

        @Override

        public void onClick(View v){

        //Toast.makeText(context, contactList.get(position).getName() + " selected at " + position, Toast.LENGTH_SHORT).show();

        if (listener!=nul) {

           listener.openContactDetail(contactList.get(position).getName(), contactList.get(position).getNumber());

        }


    }

});


查看完整回答
反對 回復(fù) 2023-10-19
  • 1 回答
  • 0 關(guān)注
  • 116 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)