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(){ } }