text customization for Infinite Scrolling Gallery

I have infinite gallery based on this example : http://blog.blundell-apps.com/infinite-scrolling-gallery/, every thing run ok : exactly i want to **applied text to each image** and **able to customize text too** as shown down image ,and **each image has diffrenet text than others** , but still not succeed to do it with infinite gallery ![enter image description here][1] [1]: http://i.stack.imgur.com/Z2uDk.png I tried with following code but it gave me **FORCE CLOSE** when running the app , ( MAYBE THERE IS WRONG CODES I WROTE , BUT IM STILL LEARNING JAVA AND BEGINER IN ANDROID DEVELOPMENT) . please any help and advice will be appreciated THANKS ALOT. **MY CODE :** **GALLERY_ITEM** **Then change in InfiniteScrollingGalleryActivity.java as follow :** public class InfiniteScrollingGalleryActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set the layout to use setContentView(R.layout.main); InfiniteGallery galleryOne = (InfiniteGallery) findViewById(R.id.galleryOne); galleryOne.setAdapter(new InfiniteGalleryAdapter(this)); } } **Then change the InfiniteGalleryResourceAdapter.java as follow :** public class InfiniteGalleryAdapter extends BaseAdapter { /** The width of each child image */ private static final int G_ITEM_WIDTH = 360; /** The height of each child image */ private static final int G_ITEM_HEIGHT = 240; /** The context your gallery is running in (usually the activity) */ private Context mContext; private int imageWidth; private int imageHeight; private int[] imageIds; public InfiniteGalleryAdapter(Context c, int[] imageIds) { this.mContext = c; this.imageIds = imageIds; } public int getCount() { return Integer.MAX_VALUE; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } private Activity activity; private LayoutInflater inflater=null; public InfiniteGalleryAdapter(Activity a) { final int[] imageIds; activity = a; inflater = (LayoutInflater)activity.getSystemService Context.LAYOUT_INFLATER_SERVICE); } public class ViewHolder{ public TextView text; public ImageView image; } public View getView(int position, View convertView, ViewGroup parent) { ImageView i = getImageView(); try { int itemPos = (position % imageIds.length); i.setImageResource(imageIds[itemPos]); ((BitmapDrawable) i.getDrawable()).setAntiAlias(true); } catch (OutOfMemoryError e) { Log.e("InfiniteGalleryResourceAdapter", "Out of memory creating imageview. Using empty view.", e); } View vi=convertView; ViewHolder holder; if(convertView==null){ vi = inflater.inflate(R.layout.gallery_items, null); holder=new ViewHolder(); holder.text=(TextView)vi.findViewById(R.id.textView1); holder.image=(ImageView)vi.findViewById(R.id.image); vi.setTag(holder); } else holder=(ViewHolder)vi.getTag(); holder.text.setText(name[position]); final int stub_id=images[position]; holder.image.setImageResource(stub_id); return vi; } private int[] images = { R.drawable.one_1, R.drawable.one_4, R.drawable.one_2, R.drawable.one_5, R.drawable.one_3 }; private String[] name = { "this is my car", "i love this", "please hekp me", "im in park", " This is nice place to visit.", }; private ImageView getImageView() { setImageDimensions(); ImageView i = new ImageView(mContext); i.setLayoutParams(new Gallery.LayoutParams(imageWidth, imageHeight)); i.setScaleType(ScaleType.CENTER_INSIDE); return i; } private void setImageDimensions() { if (imageWidth == 0 || imageHeight == 0) { imageWidth = AndroidUtils.convertToPix(mContext, G_ITEM_WIDTH); imageHeight = AndroidUtils.convertToPix(mContext,G_ITEM_HEIGHT); } } } This is logcat error : 04-10 02:25:13.057: E/AndroidRuntime(12302): FATAL EXCEPTION: main 04-10 02:25:13.057: E/AndroidRuntime(12302): java.lang.NullPointerException 04-10 02:25:13.057: E/AndroidRuntime(12302): at com.infinite.test.AndroidUtils.convertToPix(AndroidUtils.java:11) 04-10 02:25:13.057: E/AndroidRuntime(12302): at com.infinite.test.InfiniteGalleryAdapter.setImageDimensions (InfiniteGalleryAdapter.java:131) 4-10 02:25:13.057: E/AndroidRuntime(12302): at com.infinite.test.InfiniteGalleryAdapter.getImageView (InfiniteGalleryAdapter.java:117) 04-10 02:25:13.057: E/AndroidRuntime(12302): at com.infinite.test.InfiniteGalleryAdapter.getView(InfiniteGalleryAdapter.java:66) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:192) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.View.measure( View.java:8366) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.View.measure(View.java:8366) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.ViewGroup.measureChildWithMargins(viewGroup.java:3138) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.View.measure(View.java:8366) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.View.measure(View.java:8366) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.View.measure(View.java:8366) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.ViewRoot.performTraversals(ViewRoot.java:844) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.view.ViewRoot.handleMessage(ViewRoot.java:1865) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.os.Handler.dispatchMessage(Handler.java:99) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.os.Looper.loop(Looper.java:123) 04-10 02:25:13.057: E/AndroidRuntime(12302): at android.app.ActivityThread.main(ActivityThread.java:3687) 04-10 02:25:13.057: E/AndroidRuntime(12302): at java.lang.reflect.Method.invokeNative(Native Method) 04-10 02:25:13.057: E/AndroidRuntime(12302): at java.lang.reflect.Method.invoke (Method.java:507) 04-10 02:25:13.057: E/AndroidRuntime(12302): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-10 02:25:13.057: E/AndroidRuntime(12302): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 04-10 02:25:13.057: E/AndroidRuntime(12302): at dalvik.system.NativeStart.main(Native Method) 04-10 02:25:13.061: E/(129): Dumpstate > /data/log/dumpstate_app_error
Yes. All the red lines in logcat so people can help you and see what exception is thrown and which line of your code caused the force close

以上就是text customization for Infinite Scrolling Gallery的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » JavaScript 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏