dimanche 22 février 2015

[Q] listView has unwanted rows in some phones topic






I have created an android program which contains listview. Emulator and my phone (Samsung Galaxy S) shows like;
-see First Attachment (1.png)
But when I open my program in Samsung Note 3, it shows like;
-see Second Attachment (2.png)

It likes 2 empty rows(empty but their colors dark blue) and 1 real list view item. 2 empty rows, 1 real item, 2 empty rows, 1 real item ....

I tried each of item in listview. I removed each one and it does not solve my problem. And some bigger screen phones have same issue. How can i solve it?

my xml:

Code:


<RelativeLayout
                                android:id="@+id/tabTT"
                                android:layout_width="fill_parent"
                                android:layout_height="fill_parent">

                                <ImageView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:visibility="invisible"
                                    android:id="@+id/tabTT_icon"/>

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Team Tactics"
                                    android:id="@+id/tabTT_main_text"
                                    android:textSize="13sp"
                                    android:textStyle="bold"
                                    android:textColor="#800000"
                                    android:visibility="invisible"
                                    android:layout_centerHorizontal="true"/>

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_main_second"
                                    android:textSize="12sp"
                                    android:textColor="#000000"
                                    android:visibility="invisible"
                                    android:layout_below="@id/tabTT_main_text"
                                    android:layout_centerHorizontal="true"/>

                                <ListView
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:id="@+id/tabTT_listView"
                                    android:clickable="true"
                                    android:layout_below="@id/tabTT_main_second"/>

                                <ImageView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_ImageView"/>

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_textView_name"
                                    android:textSize="13sp"
                                    android:textStyle="bold"
                                    android:textColor="#000000"
                                    android:layout_marginLeft="68dp"/>

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_textView_subName"
                                    android:textSize="12sp"
                                    android:layout_below="@id/tabTT_textView_name"
                                    android:textColor="#000000"
                                    android:layout_marginLeft="68dp"/>

                                <ProgressBar
                                    android:layout_width="fill_parent"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_ProgressBar"
                                    android:layout_below="@id/tabTT_textView_subName"
                                    android:layout_toRightOf="@id/tabTT_ImageView"
                                    android:progressDrawable="@drawable/progress_bar"
                                    android:visibility="invisible"
                                    style="?android:attr/progressBarStyleHorizontal"/>

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:id="@+id/tabTT_textView_percentage"
                                    android:layout_centerHorizontal="true"
                                    android:layout_below="@id/tabTT_textView_subName"
                                    android:textColor="#800000"/>

                                </RelativeLayout>


my adapter:

Code:


public static class TTAdapter extends ArrayAdapter<Achievement> {

    public TTAdapter(Context context, ArrayList<Achievement> users) {
        super(context, 0, users);
    }

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

        Achievement user = getItem(position);
        // Check if an existing view is being reused, otherwise inflate the view
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_ach, parent, false);
        }

        convertView.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Achievement clicked = getItem(position);
                if(clicked.progressFloatSecond!=-1){
                    Toast.makeText(getContext(), "Left: " + NumberFormat.getNumberInstance(Locale.US).format(clicked.progressFloatSecond - clicked.progressFloatFirst), Toast.LENGTH_SHORT).show();
                }
                else Toast.makeText(getContext(), "One-Time Mission!", Toast.LENGTH_SHORT).show();
            }
        });

        TextView name = (TextView) convertView.findViewById(R.id.tabTT_textView_name);
        TextView subName = (TextView) convertView.findViewById(R.id.tabTT_textView_subName);
        ImageView imVi = (ImageView)convertView.findViewById(R.id.tabTT_ImageView);
        ProgressBar progBar = (ProgressBar) convertView.findViewById(R.id.tabTT_ProgressBar);
        TextView percentageFloat = (TextView) convertView.findViewById(R.id.tabTT_textView_percentage);
        DecimalFormat df = new DecimalFormat("##.##");

        name.setText(user.name);
        subName.setText(user.subName);
        imVi.setImageResource(user.picInt);
        progBar.setVisibility(View.INVISIBLE);
        percentageFloat.setVisibility(View.INVISIBLE);
        if(user.progressFloatSecond!=-1){
            progBar.setVisibility(View.VISIBLE);
            progBar.setMax(user.progressFloatSecond);
            progBar.setProgress(user.progressFloatFirst);
            percentageFloat.setText(df.format(user.progressFloat) + " %");
            percentageFloat.setVisibility(View.VISIBLE);
        }
        return convertView;

    }
}


By the way, in application there are 6 different list views and all have same problem. I write here only one listview's code.








Attached Thumbnails


Click image for larger version<br/><br/>Name:	1.png<br/>Views:	N/A<br/>Size:	65.1 KB<br/>ID:	3178871
 

Click image for larger version<br/><br/>Name:	2.png<br/>Views:	N/A<br/>Size:	36.2 KB<br/>ID:	3178872
 

















Aucun commentaire:

Enregistrer un commentaire