package com.jiuqi.njt.ui;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import com.jiuqi.njt.R;
import com.jiuqi.njt.model.NxwAppVo;
import com.jiuqi.njt.model.NxwAppVoManager;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.TitleBarUtil;
public class NxwAppLinksGridViewActivity extends Activity{
private String title;
private int id;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
doinit();
}
private void doinit(){
initParam();
initWidgets();
initListener();
initUI();
}
private void initParam(){
title = getIntent().getStringExtra(Constants.PARAM_TITLE);
id = getIntent().getIntExtra(Constants.PARAM_ID, -1);
}
private void initWidgets(){
setContentView(R.layout.layout_template_gridview);
if(TextUtils.isEmpty(getIntent().getStringExtra(Constants.PARAM_TITLE))){
title = "";
}
else{
title = getIntent().getStringExtra(Constants.PARAM_TITLE);
}
View rlTitleBar = findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, title, new OnClickListener(){
@Override
public void onClick(View v){
NxwAppLinksGridViewActivity.this.finish();
}
});
GridView gridView = (GridView)findViewById(R.id.gridView);
LinksGridViewAdapter adapter =
new LinksGridViewAdapter(this, NxwAppVoManager.getInstance(this).getAppsFromCategory(id));
gridView.setAdapter(adapter);
}
private class LinksGridViewAdapter extends BaseAdapter{
private ArrayList<NxwAppVo> items = new ArrayList<NxwAppVo>();
private LayoutInflater inflater;
public LinksGridViewAdapter(Context context, ArrayList<NxwAppVo> items){
if(null != items){
this.items = items;
}
inflater = LayoutInflater.from(context);
}
@Override
public int getCount(){
return items.size();
}
@Override
public Object getItem(int position){
return items.get(position);
}
@Override
public long getItemId(int position){
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder holder = null;
if(null == convertView){
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.gridview_item_link, null);
ImageView ivIco = (ImageView)convertView.findViewById(R.id.ivIco);
holder.setIco(ivIco);
TextView tvTitle = (TextView)convertView.findViewById(R.id.weatherTvTitle);
holder.setTvTitle(tvTitle);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
try {
final NxwAppVo vo = items.get(position);
holder.getIco().setImageDrawable(vo.getIco());
holder.getTvTitle().setText(vo.getName());
convertView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
new CheckAppInstalledTask(NxwAppLinksGridViewActivity.this).execute(vo);
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return convertView;
}
}
class ViewHolder{
private TextView tvTitle;
private ImageView ico;
public TextView getTvTitle(){
return tvTitle;
}
public void setTvTitle(TextView tvTitle){
this.tvTitle = tvTitle;
}
public ImageView getIco(){
return ico;
}
public void setIco(ImageView ico){
this.ico = ico;
}
}
private void initListener(){
}
private void initUI(){
}
}