Android入门之CharacterPickerDialog(纯java)

本文提供了一个使用 Android 的 CharacterPickerDialog 的示例应用。通过创建一个简单的 Activity,演示了如何初始化并展示 CharacterPickerDialog,以及如何处理点击事件来更新 TextView 中的内容。

     

import android.app.Activity;
import android.os.Bundle;
import android.text.method.CharacterPickerDialog;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class CharacterPickerDialogTest extends Activity {

	private RelativeLayout mainView = null;
	private TextView tv = null;
	private Button button = null;
	private CharacterPickerDialog cpd = null;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mainView = new RelativeLayout(this);
		tv = new TextView(this);
		RelativeLayout.LayoutParams lp_tv = new RelativeLayout.LayoutParams(-2,-2);
		lp_tv.addRule(RelativeLayout.CENTER_IN_PARENT);
		tv.setLayoutParams(lp_tv);
		tv.setGravity(Gravity.CENTER_HORIZONTAL);
		tv.setText("这里显示结果");
		button = new Button(this);
		RelativeLayout.LayoutParams lp_button = new RelativeLayout.LayoutParams(-2, -2);
		lp_button.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
		lp_button.addRule(RelativeLayout.CENTER_HORIZONTAL);
		button.setLayoutParams(lp_button);
		button.setText("打开");
		button.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				if (cpd == null) {
					cpd_init();
				}
				cpd.show();
			}
		});
		mainView.addView(tv);
		mainView.addView(button);
		setContentView(mainView);
	}

	/* cpd初始化 */
	void cpd_init() {
		EditText et=new EditText(this);
		et.setLayoutParams(new LinearLayout.LayoutParams(-1,-2));
		final String options="0123456789ABCDEF";
		cpd= new CharacterPickerDialog(this, new View(this), null,options,false){
			public void onClick (View v){
				//tv.setText("你按下了"+((Button)v).getText().toString()); 
            	dismiss(); 
			}
			public void onItemClick (AdapterView parent, View view, int position, long id){
				tv.setText("你按下了Button"+((Button)view).getText().toString()+"\n"); 
				tv.append("该Button的position为"+position+"\n");
				tv.append("该buton的ID为"+id);
				dismiss(); 
			}
		};

	}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李工电子说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值