当前位置:  编程技术>移动开发
本页文章导读:
    ▪managedQuery()与getContentResolver().query()的差异        managedQuery()与getContentResolver().query()的区别 managedQuery()与getContentResolver().query()的区别:Romain Guy写道:http://groups.google.com/group/android-developers/browse_thread/thread/9c887ac024b36798managedQuery() will use Conte.........
    ▪ 怎么通过XIB 创建自定义的UIViewTableCell        如何通过XIB 创建自定义的UIViewTableCell                      如何通过XIB 创建自定义的UIViewTableCell       在使用UIViewTable的时候,很多时候会发现,基本的UITableViewCell并不能满足我们的所.........
    ▪ 承继BaseAdapter实现自定义Adapter       继承BaseAdapter实现自定义Adapter android开发中会经常用来自定义的Adapter,如下就是一个简单的自定义Adapter实例。   import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import and.........

[1]managedQuery()与getContentResolver().query()的差异
    来源: 互联网  发布时间: 2014-02-18
managedQuery()与getContentResolver().query()的区别
managedQuery()与getContentResolver().query()的区别:

Romain Guy写道:http://groups.google.com/group/android-developers/browse_thread/thread/9c887ac024b36798
managedQuery() will use ContentResolver's query(). The difference is
that with managedQuery() the activity will keep a reference to your
Cursor and close it whenever needed (in onDestroy() for instance.) If
you do query() yourself, you *will* have to manage the Cursor as a
sensitive resource. If you forget, for instance, to close() it in
onDestroy(), you will leak underlying resources (logcat will warn you
about it.)


mangedQuery会实际查询的工作还是调用ContentResolver的query这一点与getContentResolver一样,但managedQuery会让Activtiy来帮你管理你的cursor的,而不用你自己去管理。
1 楼 zhengyao 2012-04-28  
mark!

    
[2] 怎么通过XIB 创建自定义的UIViewTableCell
    来源: 互联网  发布时间: 2014-02-18
如何通过XIB 创建自定义的UIViewTableCell

                     如何通过XIB 创建自定义的UIViewTableCell

      在使用UIViewTable的时候,很多时候会发现,基本的UITableViewCell并不能满足我们的所有需求,特别是个性化的需求。

 

那么如何通过XIB来创建自己的个性化的cell呢。

 

      1。Add----New Filss---Cocoa Touch Classes---Object-C  Class 

       创建一个 从 UITabelViewCell继承的类   UISpecialTableViewCell

 

      2。Add---New Files----User Interface-----Empty XIB

       创建一个空的  UISpecialTableViewCell.xib 文件,记住,XIB的名称一定要跟 签名的类的名称一致,也就是一模一样。

       一定要选 Empty XIB类型,如果不是选的这个,那么创建的XIB里面的已经存在的那个UIView将不能调整高度,它的高度固定死了。

 

       因为是空的XIB文件,所有往文件列表框中拖入一个 UIView的控件,然后将这个UIView的类名在属性器里面从UIView

       改为UISpecialTableViewCell。

 

      3。这样,就可以往这个新添加的View里面添加我们自己的个性化控件了,这个View就是我们的Cell的模板了。这个过程跟普通的XIB一样,没有什么特别的。

 

 

     那么如何在代码中使用这个UISpecialTableViewCell呢?

 

     代码如下:

 

[cpp] view plaincopy
  • - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath   
  • {  
  •        static NSString *CellIdentifier = @"UISpecialTableViewCell";      
  •     UISpecialTableViewCell *cell = (UISpecialTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];  
  •     if (cell == nil)   
  •     {  
  •         cell= (UITwitterTableViewCell *)[[[NSBundle  mainBundle]  loadNibNamed:@"UISpecialTableViewCell" owner:self options:nil]  lastObject];  
  •         }  
  • // 自己的一些设置  
  •   
  • return (UITableViewCell *)cell;  
  • }  
  •           
  •   
  •   
  • }  
  •  

     

     

         好啦,这样就可以自己定制个性化的 UITableViewCell 啦! 

     


        
    [3] 承继BaseAdapter实现自定义Adapter
        来源: 互联网  发布时间: 2014-02-18
    继承BaseAdapter实现自定义Adapter

    android开发中会经常用来自定义的Adapter,如下就是一个简单的自定义Adapter实例。

     

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    /**
     * 自定义适配器通过ListView显示内容,这个比较重要需要掌握
     * @author Dylan
     */
    public class CustomAdapterActivity extends Activity {
    
    	private ListView mListView;
    
    	private CustomAdapter mAdapter;
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    
    		mListView = (ListView) findViewById(R.id.listview);
    		mAdapter = new CustomAdapter();
    		mListView.setAdapter(mAdapter);
    		mListView.setOnItemClickListener(new ItemClickListener());
    	}
    
    	private final class ItemClickListener implements OnItemClickListener {
    
    		// AdapterView<?> parent, --> ListView View view, ---> item int
    		// position,--> item的数据在Adapter中位置 long id---> item在listView中得位置
    		@Override
    		public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    			String name = (String) mAdapter.getItem(position);
    			Toast.makeText(getApplicationContext(), "name =" + name + ",position " + position, Toast.LENGTH_SHORT)
    					.show();
    		}
    	}
    
    	private final class CustomAdapter extends BaseAdapter {
    
    		private String[] names = new String[] { "无线和网络", "通话设置", "声音", "显示", "位置和安全", "应用程序", "账户与同步", "隐私权",
    				"SD卡和手机内存", "语言和键盘", "辅助功能", "日期和时间", "关于手机" };
    
    		private int[] images = new int[] { R.drawable.image01, R.drawable.image02, R.drawable.image03,
    				R.drawable.image04, R.drawable.image05, R.drawable.image06, R.drawable.image07, R.drawable.image08,
    				R.drawable.image09, R.drawable.image10, R.drawable.image11, R.drawable.image12, R.drawable.image13 };
    
    		private LayoutInflater mInflater;
    
    		public CustomAdapter() {
    			mInflater = getLayoutInflater();
    		}
    
    		// 描述adpter的大小(确定了listView的条目)
    		@Override
    		public int getCount() {
    			return names.length;
    		}
    
    		// Adapter对于的position的数据
    		@Override
    		public Object getItem(int position) {
    			return names[position];
    		}
    
    		// 得到item 在adapter所对应的位置
    		@Override
    		public long getItemId(int position) {
    			return position;
    		}
    
    		// 创建listview的item条目,把数据绑定给item int position, Adapter的下标 View
    		// convertView, 缓存的第一屏item的布局文件 ViewGroup parent ListView
    		@Override
    		public View getView(int position, View convertView, ViewGroup parent) {
    			View view = null;
    			if (convertView != null) {
    				view = convertView;
    			} else {
    				view = mInflater.inflate(R.layout.item, parent, false);
    			}
    
    			ImageView iv_header = (ImageView) view.findViewById(R.id.iv_header);
    			TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
    
    			iv_header.setImageResource(images[position]);
    			tv_name.setText(names[position]);
    
    			return view;
    		}
    		/*
    		 * @Override
    				public View getView(int position, View convertView, ViewGroup parent) {
    					ViewCache viewCache = null;
    					if (convertView == null) {
    						viewCache = new ViewCache();
    						convertView = inflater.inflate(R.layout.folder_list_item, null);
    						viewCache.tvName = (TextView) convertView.findViewById(R.id.tv_folder_name);
    						viewCache.ivPreview = (ImageView) convertView.findViewById(R.id.iv_folder_preview);
    						convertView.setTag(viewCache);
    					} else {
    						viewCache = (ViewCache) convertView.getTag();
    					}
    					
    					FileInfo fileInfo = arrayList.get(position);
    					viewCache.tvName.setText(new File(fileInfo.filePath).getName());
    					return convertView;
    				}
    			public static class ViewCache {
    					public ImageView ivPreview;
    					public TextView tvName;
    	   		}
    		 */
    	}
    }

        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    oracle iis7站长之家
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3