求教 自定义控件的数据如何传给父activity

晓轩 2014-02-20 12:04:20
描述:我自定义了一个numberPicker,然后加入到了list_view_item layout布局内,最后在listview.setadapter内应用了这个布局。
问题:我想在numberpicker增加或减少时获得其value,但是不知道如何实现。

新手望各位前辈赐教.............
...全文
157 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
GeekLei 2014-05-16
  • 打赏
  • 举报
回复
楼主你好,我也有和你一样的需求,就是在FragmentActivity里面调用这个接口时候会报错,想知道你是在调用接口时候如何处理的
mmorss 2014-02-20
  • 打赏
  • 举报
回复
在activity 里面调用控件里写的getValue()返回啊
晓轩 2014-02-20
  • 打赏
  • 举报
回复
非常感谢楼上回答,用接口实现了。 public class MyNumberPicker extends LinearLayout{ private Button mDefault; private Button mAdd; private Button mDel; private TextView tvValue; private int mValue = 0; private MyNumPickerListener mNumPickerListener; public MyNumberPicker(Context context, AttributeSet attrs) { super(context, attrs); this.setOrientation(HORIZONTAL); mDefault = new Button(context,attrs); mDefault.setText(" + "); mDefault.setTextSize(24); mAdd = new Button(context,attrs); mAdd.setText(" + "); mAdd.setVisibility(GONE); mDel = new Button(context,attrs); mDel.setText(" - "); mDel.setVisibility(GONE); tvValue = new TextView(context,attrs); tvValue.setTextColor(Color.BLACK); tvValue.setTextSize(22); tvValue.setVisibility(GONE); addView(mDefault); addView(mAdd); addView(tvValue); addView(mDel); mDefault.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mValue +=1; tvValue.setText(String.valueOf(mValue)); if (mNumPickerListener != null) { mNumPickerListener.getNumPickerValue(mValue); } mAdd.setVisibility(VISIBLE); mDel.setVisibility(VISIBLE); tvValue.setVisibility(VISIBLE); mDefault.setVisibility(GONE); } }); mAdd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mValue +=1; tvValue.setText(String.valueOf(mValue)); if (mNumPickerListener != null) { mNumPickerListener.getNumPickerValue(mValue); } } }); mDel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (mValue > 0){ mValue -=1; tvValue.setText(String.valueOf(mValue)); } if (mValue <= 0){ mAdd.setVisibility(GONE); mDel.setVisibility(GONE); tvValue.setVisibility(GONE); mDefault.setVisibility(VISIBLE); } if (mNumPickerListener != null) { mNumPickerListener.getNumPickerValue(mValue); } } }); } public int getValue(){ return mValue; } public void setValue(int val){ mValue = val; tvValue.setText(String.valueOf(mValue)); if (mValue <= 0){ mAdd.setVisibility(GONE); mDel.setVisibility(GONE); tvValue.setVisibility(GONE); mDefault.setVisibility(VISIBLE); }else{ mAdd.setVisibility(VISIBLE); mDel.setVisibility(VISIBLE); tvValue.setVisibility(VISIBLE); mDefault.setVisibility(GONE); } } public void setOnMyNumPickerListener(MyNumPickerListener listener){ mNumPickerListener = listener; } public interface MyNumPickerListener { public void getNumPickerValue(Integer val); } }
marlenna 2014-02-20
  • 打赏
  • 举报
回复
重写onPickerChangeListener()方法。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧