高仿ニュースチュートリアル--Gridviewのクリックイベント処理(2)

2227 ワード

このチュートリアルは若水ニュースチュートリアルを参考にしていることを改めて明らかにしました.私はこの文章を書いてビジネスの伝播を気にしないで、安卓の基礎を復習することにあります.
UI画面を見て
前の文章では、メインインタフェースを簡単に実現しただけで、その中には多くのBUGがあり、クリックして背景が変わっていないなど、実はUIインタフェースを実現するたびに、UIを美化したいと思って、UI構造を複雑化しました.UI構造のタイトルバーにはHorizontalScrollViewがあり、線形レイアウトが含まれていて、gridviewが埋め込まれています.gridviewはSimpleAdapterでデータを埋め込む必要がありますが、時間を決めて処理する場合は、ちょっと困ります
simpledapterを書き換える方法getviewメソッドには集約点設定viewがあります
package com.example.SundayNews.adapter;

import java.util.List;
import java.util.Map;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.SimpleAdapter;
import android.widget.TextView;

import com.example.SundayNews.R;


public class CustomSimpleAdapter extends SimpleAdapter
{

	public CustomSimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
	{
		super(context, data, resource, from, to);
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		View v = super.getView(position, convertView, parent);
		//     TextView   
		if (position==0)
		{
			TextView categoryTitle = (TextView)v;
			categoryTitle.setBackgroundResource(R.drawable.categorybar_item_background);
			categoryTitle.setTextColor(0XFFFFFFFF);
		}
		return v;
	}
}

その後、イベントに設定を追加し、色を復元します.
	category.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {
				TextView categoryTitle;
				//          
				for (int i = 0; i < parent.getChildCount(); i++)
				{
					categoryTitle = (TextView) (parent.getChildAt(i));
					categoryTitle.setBackgroundDrawable(null);
					categoryTitle.setTextColor(0XFFADB2AD);
				}
				//           
				categoryTitle = (TextView) (parent.getChildAt(position));
				categoryTitle.setBackgroundResource(R.drawable.categorybar_item_background);
				categoryTitle.setTextColor(0XFFFFFFFF);
				
				Toast.makeText(MainActivity.this, categoryTitle.getText(), Toast.LENGTH_LONG).show();
				
			}
			
		});

end 
ソースのダウンロード
次のアドレス
高仿ニュースチュートリアル--ニュースItemのレイアウト復習(3)