当前位置:  编程技术>移动开发
本页文章导读:
    ▪由SimpleCursorAdapter承袭/定制出来的Adapter        由SimpleCursorAdapter继承/定制出来的Adapter package com.CursorAdapterTest; import static com.db.MyOpenHelper.*; import com.db.MyOpenHelper; import android.app.Activity; import android.content.ContentValues; //... //... //省略部分代码 p.........
    ▪ 从光标位置安插到已经有字符的edittext中        从光标位置插入到已经有字符的edittext中 EditText editor = (EditText)getCurrentView();int cursor = editor.getSelectionStart();editor.getText().insert(cursor,delta); ......
    ▪ 自定义控件-虚线       自定义控件--虚线 注解:转载自http://407827531.iteye.com/blog/949128。      下面是经过本人编译后的代码。在Android的UI开发中,有时为了界面美观而需要虚线。 Java代码  package com.custom;   impo.........

[1]由SimpleCursorAdapter承袭/定制出来的Adapter
    来源: 互联网  发布时间: 2014-02-18
由SimpleCursorAdapter继承/定制出来的Adapter
package com.CursorAdapterTest;

import static com.db.MyOpenHelper.*;

import com.db.MyOpenHelper;
import android.app.Activity;
import android.content.ContentValues;
//...
//...
//省略部分代码
package com.CursorAdapterTest;
import android.widget.TextView;

public class CursorAdapterTest extends Activity {

	/** Called when the activity is first created. */
	MyOpenHelper                   				 myHelper ;		       //声明MyOpenHelper对象
	int []                         				 testId ;			   //声明用于存放联系人id的数组
	String []                      				 testName ;		       //声明用于存放联系人姓名的数组
	String []                      				 testPhone ;	       //声明用于存放联系人电话的数组
	ListView                       			     lv;				   //声明ListView对象
	private static  SQLiteDatabase db          = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //得到ListView的布局
        lv = (ListView)findViewById(R.id.lv);

        //打开数据库
        myHelper = new MyOpenHelper(this, DB_NAME);
        db = myHelper.getWritableDatabase();
        /*ContentValues values = new ContentValues();

        for(int i=0;i<100;i++){
        	values.put(NAME,"A");
        	values.put(PHONE,1234567+i);
        	db.insert(TABLE_NAME, null, values);
        }*/
        //得到数据库的cursor
        Cursor c = db.query(TABLE_NAME, null, null, null, null, null, ID);
        startManagingCursor(c);

        //实例化adapter
        Adapter adapter = new Adapter(this,
        		R.layout.listitem,
        		c,
        		new String[]{ID,NAME,PHONE},
        		new int[]{R.id.list_Id,R.id.list_Name,R.id.list_Phone});
        //绑定adapter
        lv.setAdapter(adapter);
    }
    public class Adapter extends SimpleCursorAdapter {

    	private LayoutInflater mInflater;

    	public Adapter (Context context, int layout, Cursor c, String[] from, int[] to) {
    		        super(context, layout, c, from, to);
    		    }

		@Override
    	public void bindView(View view, Context context, Cursor cursor) {
			//得到每一个item的布局文件
    		LinearLayout ll = null;
    		if (view == null) {
    			ll = (LinearLayout) mInflater.inflate(R.layout.listitem,null);
    		} else {
    			ll = (LinearLayout)view;
    		}

    		//通过cursor得到每一个字段的ColumnIndex
    		int idCol = cursor.getColumnIndex(ID);
    		int nameCol = cursor.getColumnIndex(NAME);
    		int phoneCol = cursor.getColumnIndex(PHONE);

    		int nCount = cursor.getPosition();
    		//int nCount = Integer.valueOf(cursor.getString(idCol));

    		//得到每一个数据控件
    		ImageView iv_TView = (ImageView)ll.findViewById(R.id.list_Iv);
        	TextView id_TV = (TextView)ll.findViewById(R.id.list_Id);
        	TextView name_TV = (TextView)ll.findViewById(R.id.list_Name);
        	TextView phone_TV = (TextView)ll.findViewById(R.id.list_Phone);

        	//设置每一项数据内容
        	if( nCount % 2 == 0){
        		iv_TView.setImageDrawable(getResources().getDrawable(R.drawable.r));
        	} else {
        		iv_TView.setImageDrawable(getResources().getDrawable(R.drawable.b));
        	}
        	id_TV.setText(cursor.getString(idCol));
        	name_TV.setText(cursor.getString(nameCol));
        	phone_TV.setText(cursor.getString(phoneCol));
    	}
    }
}

<!--?xml version="1.0" encoding="utf-8"?-->
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
	<listview android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="fill_parent" android:dividerheight="1px" android:cachecolorhint="#00000000" android:smoothscrollbar="true">
	</listview>
</linearlayout>

<!--?xml version="1.0" encoding="utf-8"?-->
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content">
		<imageview android:id="@+id/list_Iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical">
		<linearlayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0">
			<textview android:id="@+id/list_Id" android:layout_width="wrap_content" android:layout_height="wrap_content">
			<textview android:id="@+id/list_Name" android:layout_width="wrap_content" android:layout_height="wrap_content">
			<textview android:id="@+id/list_Phone" android:layout_width="wrap_content" android:layout_height="wrap_content">
		</textview></textview></textview></linearlayout>
</imageview></linearlayout>

    
[2] 从光标位置安插到已经有字符的edittext中
    来源: 互联网  发布时间: 2014-02-18
从光标位置插入到已经有字符的edittext中
EditText editor = (EditText)getCurrentView();
int cursor = editor.getSelectionStart();
editor.getText().insert(cursor,delta);

    
[3] 自定义控件-虚线
    来源: 互联网  发布时间: 2014-02-18
自定义控件--虚线
注解:转载自http://407827531.iteye.com/blog/949128。
      下面是经过本人编译后的代码。

在Android的UI开发中,有时为了界面美观而需要虚线。

Java代码 
package com.custom;  

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PathEffect;
import android.util.AttributeSet;
import android.view.View;
   /** 
    * 画虚线组件  
    */ 
public DashedLine(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);

Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);//设置画笔样式
paint.setColor(Color.DKGRAY);

Path path = new Path();
path.moveTo(30, 5); //从什么地方开始,(x、y 的坐标)
path.lineTo(320, 5);//到什么地方结束
/*
*看到这里时,想让它居中显示,但不知道Path 中的哪个属性可用,
*就从开始处到结束处入手了。有朋友知道的请告诉在下,共同学习
*/

PathEffect effects = new DashPathEffect(new float[] { 5, 5, 5, 5 }, 1);
paint.setPathEffect(effects); //Set or clear the patheffect object
/* 例如:
* new float[]{10, 4, 6, 4}。
* 这4个值分别是长线段的长度(10)、长线段与短线段的距离(4)、
* 短线段的长度(6)和短线段与长线段的距离(4)。
* (本例线段长都一样)
* 后面的一个参数为1 :offset into the intervals array
* 我试着将其改为0时没有什么效果,不明白。
*/

canvas.drawPath(path, paint);
/* 其中path参数表示用于绘制路径的轨迹
* paint参数用于指定路径的属性,例如,可以指定路径的颜色等
*/
}


在layout文件夹下的xml引用这个控件

Java代码 
<com.test.view.DashedLine
android:id="@+id/dashedLine"
android:layout_width="wrap_content"
android:layout_height="10px"   />
/*
* 高度可以调整到合适的需求
*/
1 楼 dahui12344321 2011-04-11  
找时间试试

    
最新技术文章:
▪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按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪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