Improving performance unsing compoundDrawable in NodeAdapter

This commit is contained in:
Alejandro Alcalde 2014-08-10 21:29:14 +02:00
parent 3359d7cf46
commit bf177ace64
2 changed files with 19 additions and 36 deletions

View File

@ -1,26 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget44"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget44"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="201px"
android:layout_y="165px"
android:gravity="center_horizontal"
android:orientation="vertical" >
<TextView
android:id="@+id/icon_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_x="201px"
android:layout_y="165px"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/icon_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ImageView>
<TextView
android:id="@+id/icon_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="2"
android:gravity="center_horizontal"
android:textColorHighlight="#656565"
android:textColor="@android:color/black"
>
android:gravity="center_horizontal"
android:maxLines="2"
android:textColor="@android:color/black"
android:textColorHighlight="#656565" >
</TextView>
</LinearLayout>
</LinearLayout>

View File

@ -23,7 +23,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import es.ugr.swad.swadroid.R;
@ -48,7 +47,6 @@ public class NodeAdapter extends BaseAdapter {
static class ViewHolder {
TextView text;
ImageView image;
}
@Override
@ -84,28 +82,18 @@ public class NodeAdapter extends BaseAdapter {
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.icon_text);
holder.image = (ImageView) convertView.findViewById(R.id.icon_image);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// Trying to use ellipsizing only when it is needed, it does not work
/*
*
String nodeName = ((DirectoryItem)list.get(position)).getName();
if(!isTooLarge(holder.text,nodeName))
holder.text.setEllipsize(null); //if the text fits in two lines, the ellipsizing is turn off
else
holder.text.setEllipsize(TextUtils.TruncateAt.END); //if the text does not fit in two lines, the ellipsizing is set to end
*/
holder.text.setText(list.get(position).getName());
if (list.get(position).isFolder()) {
holder.image.setImageResource(R.drawable.folder_open);
holder.text.setCompoundDrawablesRelativeWithIntrinsicBounds(0, R.drawable.folder_open, 0, 0);
} else {
holder.image.setImageResource(R.drawable.file);
holder.text.setCompoundDrawablesRelativeWithIntrinsicBounds(0, R.drawable.file, 0, 0);
}
return convertView;