課程
/移動開發(fā)
/Android
/Android-Service系列之多線程斷點(diǎn)續(xù)傳下載
這樣優(yōu)化getView(),如果item數(shù)量超過一屏,滑動到第二屏點(diǎn)擊事件和textiew的text都會有問題。
2015-04-26
源自:Android-Service系列之多線程斷點(diǎn)續(xù)傳下載 3-2
正在回答
很好,將監(jiān)聽器緩存起來也是一種優(yōu)化方法
}
建議對于OnClickListener的重復(fù)創(chuàng)建優(yōu)化可以像如上處理。
舉報(bào)
本視頻教程主要代領(lǐng)我們要學(xué)習(xí)的多線程續(xù)傳下載程序的開發(fā)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-05-04
很好,將監(jiān)聽器緩存起來也是一種優(yōu)化方法
2015-04-26
? ?public View getView(final int position, View convertView, ViewGroup parent) {
? ? ? ?ViewHolder holder = null;
? ? ? ?if (convertView == null) {
? ? ? ? ? ?convertView = LayoutInflater.from((parent.getContext())).inflate(R.layout.item_app, parent, false);
? ? ? ? ? ?holder = new ViewHolder();
? ? ? ? ? ?holder.btnDownload = (Button) convertView.findViewById(R.id.btnDownload);
? ? ? ? ? ?holder.tvName = (TextView) convertView.findViewById(R.id.tvName);
? ? ? ? ? ?holder.onClickListener = new MyOnClickListener();
? ? ? ? ? ?convertView.setTag(holder);
? ? ? ?} else {
? ? ? ? ? ?holder = (ViewHolder) convertView.getTag();
? ? ? ?}
? ? ? ?holder.onClickListener.setPosition(position, holder);
? ? ? ?holder.tvName.setText(position+" App");
? ? ? ?holder.btnDownload.setOnClickListener(holder.onClickListener);
? ? ? ?return convertView;
? ?}
? ?static class ViewHolder {
? ? ? ?Button btnDownload;
? ? ? ?TextView tvName;
? ? ? ?MyOnClickListener onClickListener;
? ?}
? ?private static class MyOnClickListener implements View.OnClickListener {
? ? ? ?private int mPosition;
? ? ? ?private ViewHolder mHolder;
? ? ? ?public void setPosition(int position, ViewHolder holder) {
? ? ? ? ? ?this.mPosition = position;
? ? ? ? ? ?this.mHolder = holder;
? ? ? ?}
? ? ? ?@Override
? ? ? ?public void onClick(View v) {
? ? ? ? ? ?Toast.makeText(v.getContext(), mHolder.tvName.getText(), Toast.LENGTH_SHORT).show();
? ? ? ?}
? ?}
}
建議對于OnClickListener的重復(fù)創(chuàng)建優(yōu)化可以像如上處理。