Back to project page GuildViewerApp2.
The source code is released under:
Apache License
If you think the Android project GuildViewerApp2 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.skywomantechnology.app.guildviewer; //from ww w .j av a 2 s . c o m /* * Guild Viewer is an Android app that allows users to view news feeds and news feed details * on a mobile device and while not logged into the game servers. * * Copyright 2014 Sky Woman Technology LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.content.Context; import android.content.res.Resources; import android.database.Cursor; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CursorAdapter; import android.widget.ImageView; import android.widget.TextView; /** * This CursorAdapter handles the list item view * for the guild news items and displays * an icon for the news item type and then the news item and timestamp */ public class NewsAdapter extends CursorAdapter { //public final String LOG_TAG = NewsAdapter.class.getSimpleName(); public static class ViewHolder { public final ImageView newsIconView; public final TextView newsTypeView; public final TextView newsTimestampView; public ViewHolder(View view) { newsIconView = (ImageView) view.findViewById(R.id.list_item_icon); newsTypeView = (TextView) view.findViewById(R.id.list_item_news_type); newsTimestampView = (TextView) view.findViewById(R.id.list_item_news_timestamp); } } /** * Constructor * @param context for view * @param c cursor with data * @param flags int */ public NewsAdapter(Context context, Cursor c, int flags) { super(context, c, flags); } /** * * @param context for view * @param cursor with data * @param parent View Group * @return View */ @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { View view = LayoutInflater.from(context).inflate(R.layout.list_item_news, parent, false); ViewHolder viewHolder = new ViewHolder(view); view.setTag(viewHolder); return view; } /** * Add data to the list view * @param view to add data to * @param context for view * @param cursor with data */ @Override public void bindView(View view, Context context, Cursor cursor) { Resources res = context.getResources(); ViewHolder viewHolder = (ViewHolder) view.getTag(); // create the timestamp String timestamp = Utility.getReadableDateString(cursor.getLong(NewsListFragment.COL_TIMESTAMP), res.getString(R.string.format_timestamp_list_view)); viewHolder.newsTimestampView.setText(timestamp); // collect the data needed to summarize the news item String newsType = cursor.getString(NewsListFragment.COL_TYPE); String verb = Utility.getNewsTypeVerb(context, newsType); String character = cursor.getString(NewsListFragment.COL_CHARACTER); String itemName = cursor.getString(NewsListFragment.COL_ITEM_NAME); String achievementTitle = cursor.getString(NewsListFragment.COL_ACHIEVEMENT_TITLE); // format the primary pieces of data into a simple list display format String news = String.format(context.getString(R.string.format_simple_display), character, verb, ((newsType.contains(Constants.ITEM)) ? itemName : achievementTitle)); viewHolder.newsTypeView.setText(news); // add a pretty picture to make it simpler to find news type items viewHolder.newsIconView.setImageResource(Utility.getImageResourceForNews(newsType)); } }