bnyamin

مشکل با لیست ویو

3 ارسال در این موضوع قرار دارد

دوستان و اساتید محترم سلام و خسته نباشید

کد زیر رو  برای ArrayAdapter لیست ویو خودم استفاده کردم اما  نمیدونم چرا وقتی فهرست رو به اندازه ارتفاع گوشیم میکشم بالا مجددا همون اطلاعات فهرستی که رفته بالایو محو شده رو نشون میده

مثلا اگه لیست ویو من به این صورت باشه

علی

حسین

تقی

نقی

محمد

حسن

جمشید

سینا

جواد

مازیار

اینجوری برام نشون میده( فکر کنید تا نقی فقط تو صفحه گوشیم جا میشه و بقیش رو مجبورم با دست بکشم بالا)

[align=right]علی[/align]

[align=right]حسین[/align]

[align=right]تقی[/align]

[align=right]نقی[/align]

[align=right]-------------//پایان صفحه گوشیم[/align]

[align=right]علی[/align]

[align=right]حسین[/align]

[align=right]تقی[/align]

[align=right]نقی[/align]

[align=right]-------------//پایان صفحه گوشیم[/align]

[align=right]علی[/align]

[align=right]حسین[/align]

[align=right]تقی[/align]

[align=right]نقی[/align]

[align=right]-------------//پایان صفحه گوشیم[/align]

[align=right]کد من اینه ممنون میشم اگه مشکلشو پیدا کنید[/align]

[align=right]

	//-----ArrayAdapter-------class AA extends ArrayAdapter{	public AA(){		super(fehrest2.this,R.layout.row_storys,list);	}	@Override	public View getView(final int position, View convertView, ViewGroup parent) {		View row;		if (convertView == null) {  		LayoutInflater in = getLayoutInflater();		row = in.inflate(R.layout.row_storys, parent,false);		TextView name = (TextView) row.findViewById(R.id.txt_name_story);		name.setText(list.get(position));		name.setTypeface(MainActivity.font);		}else{			row  = (View) convertView; // البته فک کنم مشکل ازینجا  باشه ولی نمیدونم چجوری کد رو مچ کنم		}		return row;	}}

این رو از تو نت پیداش کردم

package com.example.listviewpopupwithadapter;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;// here's our beautiful adapterpublic class ArrayAdapterItem extends ArrayAdapter {Context mContext;int layoutResourceId;ObjectItem data[] = null;public ArrayAdapterItem(Context mContext, int layoutResourceId, ObjectItem[] data) {super(mContext, layoutResourceId, data);this.layoutResourceId = layoutResourceId;this.mContext = mContext;this.data = data;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {/** The convertView argument is essentially a "ScrapView" as described is Lucas post * http://lucasr.org/2012/04/05/performance-tips-for-androids-listview/* It will have a non-null value when ListView is asking you recycle the row layout. * So, when convertView is not null, you should simply update its contents instead of inflating a new row layout.*/if(convertView==null){// inflate the layoutLayoutInflater inflater = ((Activity) mContext).getLayoutInflater();convertView = inflater.inflate(layoutResourceId, parent, false);}// object item based on the positionObjectItem objectItem = data[position];// get the TextView and then set the text (item name) and tag (item ID) valuesTextView textViewItem = (TextView) convertView.findViewById(R.id.textViewItem);textViewItem.setText(objectItem.itemName);textViewItem.setTag(objectItem.itemId);return convertView;}}

[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

يعني کل اسامي تو ليستتون نمايش داده نمي شه؟

من اينجوري متوجه شدم خب بايد از scroll view استفاده کنيد يعني اول اسکرول ويو بذاريد بعد ليست ويو تونو بذاريد تو لايه تون

البته شايدم کدتون ناقص باشه

lhttp://androidexample.com/Create_A_Simple_Listview_-_Android_Example/index.php?view=article_discription&aid=65&aaid=90

/////

http://windrealm.org/tutorials/android/android-listview.php

دو لينک بالا رو حتما مطالعه کنيد

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نه دوست عزیز اگه من این کد

   if (convertView == null) {}else{}

رو بردارم درست میشه---اما این کد خاصیتش اینه که سبب میشه اون قسمتی که ازلیست که اسکرول میشه به سمت بالا و محو میشه تو نمایش مجددش دوباره از cpu گوشی برای پردازش مجدد کار نکشه

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری