设为首页 加入收藏

TOP

Android 经典示例源码(一)
2014-11-24 12:05:07 来源: 作者: 【 】 浏览:1
Tags:Android 经典 示例 源码



package com.cmw.android.widgets;


import java.util.ArrayList;
import java.util.List;


import android.app.ListActivity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;


import com.cmw.android.data.TreeDataProvider;
import com.cmw.android.model.TreeElement;


public class MainFrameActivity extends ListActivity{
private List nodes = new ArrayList();
private TreeViewAdapter treeViewAdapter = null;
private TreeDataProvider provider = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
provider = new TreeDataProvider(this);
nodes = provider.getDataSource();
treeViewAdapter = new TreeViewAdapter(this, R.layout.mainframe,nodes);
setListAdapter(treeViewAdapter);
registerForContextMenu(getListView());
}


@SuppressWarnings("unchecked")
private class TreeViewAdapter extends ArrayAdapter {
public TreeViewAdapter(Context context, int textViewResourceId,
List objects) {
super(context, textViewResourceId, objects);
mInflater = LayoutInflater.from(context);
mfilelist = objects;
mIconCollapse = BitmapFactory.decodeResource(
context.getResources(), R.drawable.plus);
mIconExpand = BitmapFactory.decodeResource(context.getResources(),
R.drawable.cut);
}

private LayoutInflater mInflater;
private List mfilelist;
private Bitmap mIconCollapse;
private Bitmap mIconExpand;

public int getCount() {
return mfilelist.size();
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
convertView = mInflater.inflate(R.layout.mainframe, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.treetext);
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);

final TreeElement obj = mfilelist.get(position);

holder.text.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Log.i("TreeView", "obj.id:" + obj.getId());
obj.forward(MainFrameActivity.this);
}
});

int level = obj.getLevel();
holder.icon.setPadding(25 * (level + 1),
holder.icon.getPaddingTop(), 0,
holder.icon.getPaddingBottom());
holder.text.setText(obj.getTitle());
if (obj.isHasChild()&& (obj.isExpanded() == fals

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇解决Android OpenGL动画中的黑边.. 下一篇简单的计算器编写 基于Android 2.2

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)