2024年Android最全android动态拼接生成界面 ,大量界面,女生学移动应用开发

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节

还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

一线互联网面试专题

379页的Android进阶知识大全

379页的Android进阶知识大全

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

mItemZeroValueEt.setText(formDetail.getuValue());

mItemZeroValueEt.setTag(formDetail.getTableDetailID());

mItemZeroFieldTv.setText(formDetail.getCaption());

mTypeZeroView.setTag(mType);

linearLayout.addView(mTypeZeroView);

} else if (mType == ViewTypeUtil.item_view_type_one) {

mTypeOneView = LayoutInflater.from(this).inflate(R.layout.item_type_one, null);

mItemOneFieldTv = (TextView) mTypeOneView.findViewById(R.id.item_one_field_tv);

mItemOneValueEt = (EditText) mTypeOneView.findViewById(R.id.item_one_value_et);

if (mIntentFrom == FLAG_SHOW) {

mItemOneValueEt.setEnabled(false);

}

mItemOneValueEt.setText(formDetail.getuValue());

mItemOneValueEt.setTag(formDetail.getTableDetailID());

mItemOneFieldTv.setText(formDetail.getCaption());

mTypeOneView.setTag(mType);

linearLayout.addView(mTypeOneView);

} else if (mType == ViewTypeUtil.item_view_type_two) {

mTypeTwoView = LayoutInflater.from(this).inflate(R.layout.item_type_two, null);

mItemTwoValueEt = (EditText) mTypeTwoView.findViewById(R.id.content_et);

mItemTwoValueEt.setTypeface(Constants.fontFace);

mItemTwoFieldTv = (TextView) mTypeTwoView.findViewById(R.id.item_two_field_tv);

if (mIntentFrom == FLAG_SHOW) {

mItemTwoValueEt.setEnabled(false);

} else {

mTypeTwoView.findViewById(R.id.content_iv).setOnClickListener(this);

mTypeTwoView.findViewById(R.id.voice_iv).setOnClickListener(this);

mTypeTwoView.findViewById(R.id.special_iv).setOnClickListener(this);

}

mItemTwoValueEt.setText(formDetail.getuValue());

mItemTwoFieldTv.setText(formDetail.getCaption());

mItemTwoValueEt.setTag(formDetail.getTableDetailID());

mTypeTwoView.findViewById(R.id.voice_iv).setTag(formDetail.getTableDetailID());

mTypeTwoView.findViewById(R.id.special_iv).setTag(formDetail.getTableDetailID());

mTypeTwoView.findViewById(R.id.content_iv).setTag(formDetail.getTableDetailID());

mTypeTwoView.setTag(mType);

linearLayout.addView(mTypeTwoView);

} else if (mType == ViewTypeUtil.item_view_type_three) {

mTypeThreeView = LayoutInflater.from(this).inflate(R.layout.item_type_three, null);

mDateKeyTv = (TextView) mTypeThreeView.findViewById(R.id.tv_test_date_key);

mDateValueEt = (EditText) mTypeThreeView.findViewById(R.id.et_test_date_value);

mDateKeyTv.setText(formDetail.getCaption());

if (mIntentFrom == FLAG_SHOW) {

mDateValueEt.setEnabled(false);

} else {

mDateValueEt.setOnClickListener(this);

}

if (!TextUtils.isEmpty(formDetail.getuValue())) {

mDateValueEt.setText(formDetail.getuValue());

} else {

mDateValueEt.setText(TimeUtil.getCurDateStr().substring(0, 12));

}

mDateValueEt.setTag(formDetail.getTableDetailID());

mTypeThreeView.setTag(mType);

linearLayout.addView(mTypeThreeView);

} else if (mType == ViewTypeUtil.item_view_type_four) {

mTypeFourView = LayoutInflater.from(context).inflate(R.layout.item_type_four, null);

mNumEt = (EditText) mTypeFourView.findViewById(R.id.et_num);

mItemFourFieldTv = (TextView) mTypeFourView.findViewById(R.id.item_four_field_tv);

mNumEt.setText(formDetail.getuValue());

mNumEt.setTag(formDetail.getTableDetailID());

mItemFourFieldTv.setText(formDetail.getCaption());

if (mIntentFrom == FLAG_SHOW) {

mNumEt.setEnabled(false);

}

mTypeFourView.setTag(mType);

linearLayout.addView(mTypeFourView);

} else if (mType == ViewTypeUtil.item_view_type_five) {

mTypeFiveView = LayoutInflater.from(this).inflate(R.layout.item_type_five, null);

mSelectKeyTv = (TextView) mTypeFiveView.findViewById(R.id.et_select_key);

mSelectValueEt = (EditText) mTypeFiveView.findViewById(R.id.et_select_value);

mSelectValueEt.setText(formDetail.getuValue());

if (mIntentFrom == FLAG_SHOW) {

mSelectValueEt.setEnabled(false);

} else {

mSelectValueEt.setOnClickListener(this);

}

mSelectKeyTv.setText(formDetail.getCaption());

mSelectValueEt.setTag(R.id.select_view_position, i);

mSelectValueEt.setTag(R.id.select_view_detial_id, formDetail.getTableDetailID());

mTypeFiveView.setTag(mType);

linearLayout.addView(mTypeFiveView);

} else if (mType == ViewTypeUtil.item_view_type_six) {

} else if (mType == ViewTypeUtil.item_view_type_seven) {// 部位栏

mTypeSevenView = LayoutInflater.from(this).inflate(R.layout.item_type_seven, null);

mPartSelectKeyTv = (TextView) mTypeSevenView.findViewById(R.id.tv_select_part_key);

mPartSelectValueEt = (EditText) mTypeSevenView.findViewById(R.id.et_select_part_value);

mPartSelectKeyTv.setText(formDetail.getCaption());

mPartSelectValueEt.setText(formDetail.getuValue());

if (mIntentFrom == FLAG_SHOW) {

mPartSelectValueEt.setEnabled(false);

} else {

mPartSelectValueEt.setOnClickListener(this);

}

mPartSelectValueEt.setTag(formDetail.getTableDetailID());

mTypeSevenView.setTag(mType);

linearLayout.addView(mTypeSevenView);

} else if (mType == ViewTypeUtil.item_view_type_eight) {// 单选框

mTypeEightView = LayoutInflater.from(this).inflate(R.layout.item_type_eight, null);

mTypeEightKeyTv = (TextView) mTypeEightView.findViewById(R.id.tv_type_eight_key);

rgTypeEight = (RadioGroup) mTypeEightView.findViewById(R.id.rb_type_eight);

mTypeEightKeyTv.setText(formDetail.getCaption());

List dicBeans = formDetail.getDicBeanList();

if (dicBeans == null) {

return;

}

for (int j = 0; j < dicBeans.size(); j++) {

RadioButton radioButton = new RadioButton(context);

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

radioButton.setText(dicBeans.get(j).getDicName());

radioButton.setTag(formDetail.getTableDetailID() + “,” + dicBeans.get(j).getDicID());

radioButton.setId(j);

rgTypeEight.addView(radioButton, params);

if (mIntentFrom == FLAG_SHOW) {// 查看

radioButton.setEnabled(false);

if ((dicBeans.get(j).getDicID() + “”).equals(formDetail.getuValue())) {

rgTypeEight.check(j);

}

} else if (mIntentFrom == FLAG_UPDATE) {// 修改

radioButton.setEnabled(true);

if ((dicBeans.get(j).getDicID() + “”).equals(formDetail.getuValue())) {

rgTypeEight.check(j);

}

} else {// 添加

rgTypeEight.check(0);

radioButton.setEnabled(true);

}

}

mTypeEightView.setTag(mType);

linearLayout.addView(mTypeEightView);

} else if (mType == ViewTypeUtil.item_view_type_nine) {// 多选框

mTypeNineView = LayoutInflater.from(this).inflate(R.layout.item_type_nine, null);

mTypeNineKeyTv = (TextView) mTypeNineView.findViewById(R.id.tv_type_nine_key);// 没有用到

cbxTypeNine = (CheckBox) mTypeNineView.findViewById(R.id.cbx_type_nine);

cbxTypeNine.setText(formDetail.getCaption());

cbxTypeNine.setTag(formDetail.getTableDetailID() + “,” + formDetail.getDicID());

cbxTypeNine.setOnClickListener(this);

mTypeNineView.setTag(mType);

linearLayout.addView(mTypeNineView);

} else if (mType == ViewTypeUtil.item_view_type_ten) {// 列表

final String detailId = formDetail.getTableDetailID();

mTypeTenView = LayoutInflater.from(context).inflate(R.layout.item_type_ten, null);

mTypeTenKeyTv = (TextView) mTypeTenView.findViewById(R.id.tv_type_ten_key);

mTypeTenKeyTv.setText(formDetail.getCaption());

mTypeTenLinearLayout = (LinearLayout) mTypeTenView.findViewById(R.id.ly_type_ten);

mTypeTenLinearLayout.setTag(formDetail.getTableDetailID());

mTypeTenView.setTag(mType);

linearLayout.addView(mTypeTenView);

new AsyncTask<Void, Void, Void>() {

@Override

protected Void doInBackground(Void… params) {

if (mIntentFrom == FLAG_SHOW || mIntentFrom == FLAG_UPDATE) {// 查看,修改

mFormDetailMap = GdjtUserDataDBOperation.getInstance().getChildListDetailValueData(mUTableID, formDetail.getTableDetailID());

} else {// 添加

mFormDetailChildList = GdjtFormDBOperation.getInstance().getChildListDetailData(formDetail.getTableDetailID());

}

return null;

}

@Override

protected void onPostExecute(Void result) {

if (mIntentFrom == FLAG_SHOW || mIntentFrom == FLAG_UPDATE) {

mTypeTenView.findViewById(R.id.iv_type_ten_add).setVisibility(View.GONE);

mTypeTenLinearLayout.setWeightSum(3.0f);

ShowChildView();

} else {

AddListChildView();

mTypeTenLinearLayout.setWeightSum(2.5f);

mTypeTenView.findViewById(R.id.iv_type_ten_add).setVisibility(View.VISIBLE);

mTypeTenView.findViewById(R.id.iv_type_ten_add).setOnClickListener(CommonFormViewActivity.this);

}

}

}.execute();

} else if (mType == ViewTypeUtil.item_view_type_eleven) {// 图纸标准

mTypeElevenView = LayoutInflater.from(this).inflate(R.layout.item_type_eleven, null);

mTypeElevenKeyTv = (TextView) mTypeElevenView.findViewById(R.id.tv_type_eleven_key);

mDrawingNameTv = (TextView) mTypeElevenView.findViewById(R.id.item_eleven_value_et);

mDrawingNameTv.setOnClickListener(this);

mDrawingNameTv.setTag(formDetail.getTableDetailID());

if (!TextUtils.isEmpty(mDrawingPath)) {

mDrawingNameTv.setText(mDrawingPath.subSequence(mDrawingPath.lastIndexOf(“/”) + 1, mDrawingPath.length()));

}

mTypeElevenView.findViewById(R.id.item_eleven_value_img_photo).setOnClickListener(this);

mTypeElevenView.findViewById(R.id.item_eleven_value_img_folder).setOnClickListener(this);

mTypeElevenKeyTv.setText(formDetail.getCaption());

mTypeElevenView.setTag(mType);

linearLayout.addView(mTypeElevenView);

} else if (mType == ViewTypeUtil.item_view_type_twelve) {// 图片

mTypeTwelveView = LayoutInflater.from(this).inflate(R.layout.item_type_twelve, null);

mTypeTwelveKeyTv = (TextView) mTypeTwelveView.findViewById(R.id.tv_type_twelve_key);

mTypeTwelveValueTv = (TextView) mTypeTwelveView.findViewById(R.id.item_twelve_value_path);

mTypeTwelveTakePhoto = mTypeTwelveView.findViewById(R.id.item_twelve_value_img_photo);

mTypeTwelveSelectPhoto = mTypeTwelveView.findViewById(R.id.item_twelve_value_img_folder);

if (mIntentFrom == FLAG_SHOW) {

mTypeTwelveTakePhoto.setEnabled(false);

mTypeTwelveSelectPhoto.setEnabled(false);

} else {

mTypeTwelveTakePhoto.setOnClickListener(this);

mTypeTwelveSelectPhoto.setOnClickListener(this);

}

mTypeTwelveValueTv.setOnClickListener(this);

mPhotoPath = formDetail.getuValue();

mTypeTwelveKeyTv.setText(formDetail.getCaption());

mTypeTwelveValueTv.setText(mPhotoPath.substring(mPhotoPath.lastIndexOf(“/”) + 1));

mTypeTwelveValueTv.setTag(formDetail.getTableDetailID());

mTypeTwelveTakePhoto.setTag(formDetail.getTableDetailID());

mTypeTwelveSelectPhoto.setTag(formDetail.getTableDetailID());

mTypeTwelveView.setTag(mType);

linearLayout.addView(mTypeTwelveView);

} else if (mType == ViewTypeUtil.item_view_type_thirteen) {// 组

final String detailId = formDetail.getTableDetailID();

mTypeThirteenView = LayoutInflater.from(context).inflate(R.layout.item_type_thirteen, null);

mTypeThirteenKeyTv = (TextView) mTypeThirteenView.findViewById(R.id.tv_type_thirteen_key);

mTypeThirteenKeyTv.setText(formDetail.getCaption());

mTypeThirteenLinearLayout = (LinearLayout) mTypeThirteenView.findViewById(R.id.ly_type_thirteen);

mTypeThirteenLinearLayout.setTag(detailId);

mTypeThirteenView.setTag(mType);

linearLayout.addView(mTypeThirteenView);

new AsyncTask<Void, Void, Void>() {

@Override

protected Void doInBackground(Void… params) {

if (mIntentFrom == FLAG_SHOW || mIntentFrom == FLAG_UPDATE) {// 查看,修改

mFormDetailMap = GdjtUserDataDBOperation.getInstance().getChildListDetailValueData(mUTableID, detailId);

} else {// 添加

mFormZuDetailChildList = GdjtFormDBOperation.getInstance().getChildListDetailData(detailId);

}

return null;

}

@Override

protected void onPostExecute(Void result) {

if (mIntentFrom == FLAG_SHOW || mIntentFrom == FLAG_UPDATE ) {

ShowChildView();

} else {

AddZuChildView();

}

// linearLayout.refreshDrawableState();

}

}.execute();

} else if (mType == ViewTypeUtil.item_view_type_fourteen) {// 日期时间格式

mTypeFourteenView = LayoutInflater.from(this).inflate(R.layout.item_type_three, null);

mFourteenDateKeyTv = (TextView) mTypeFourteenView.findViewById(R.id.tv_test_date_key);

mFourteenDateValueEt = (EditText) mTypeFourteenView.findViewById(R.id.et_test_date_value);

mFourteenDateValueEt.setTag(formDetail.getTableDetailID());

mFourteenDateKeyTv.setText(formDetail.getCaption());

if (mIntentFrom == FLAG_SHOW) {

mFourteenDateValueEt.setEnabled(false);

}

if (!TextUtils.isEmpty(formDetail.getuValue())) {

mFourteenDateValueEt.setText(formDetail.getuValue());

} else {

mFourteenDateValueEt.setText(TimeUtil.getCurDateStr());

}

mFourteenDateValueEt.setTag(formDetail.getTableDetailID());

mFourteenDateValueEt.setOnClickListener(this);

mTypeFourteenView.setTag(mType);

linearLayout.addView(mTypeFourteenView);

} else if (mType == ViewTypeUtil.item_view_type_fifteen) {// 时间格式

mTypeFifteenView = LayoutInflater.from(this).inflate(R.layout.item_type_three, null);

mFifteenDateKeyTv = (TextView) mTypeFifteenView.findViewById(R.id.tv_test_date_key);

mFifteenDateValueEt = (EditText) mTypeFifteenView.findViewById(R.id.et_test_date_value);

mFifteenDateValueEt.setTag(formDetail.getTableDetailID());

mFifteenDateKeyTv.setText(formDetail.getCaption());

if (mIntentFrom == FLAG_SHOW) {

mFifteenDateValueEt.setEnabled(false);

}

if (!TextUtils.isEmpty(formDetail.getuValue())) {

mFifteenDateValueEt.setText(formDetail.getuValue());

} else {

mFifteenDateValueEt.setText(TimeUtil.getStringTimeShort());

}

mFifteenDateValueEt.setTag(formDetail.getTableDetailID());

mFifteenDateValueEt.setOnClickListener(this);

mTypeFifteenView.setTag(mType);

linearLayout.addView(mTypeFifteenView);

} else if (mType == ViewTypeUtil.item_view_type_sixteen) {// 标签

mTypeSixteenView = LayoutInflater.from(this).inflate(R.layout.item_type_zero, null);

mItemSixteenFieldTv = (TextView) mTypeSixteenView.findViewById(R.id.item_zero_field_tv);

mItemSixteenValueEt = (EditText) mTypeSixteenView.findViewById(R.id.item_zero_value_et);

mItemSixteenValueEt.setEnabled(false);

mItemSixteenValueEt.setText(formDetail.getuValue());

mItemSixteenValueEt.setTag(formDetail.getTableDetailID());

mItemSixteenFieldTv.setText(formDetail.getCaption());

mTypeSixteenView.setTag(mType);

linearLayout.addView(mTypeSixteenView);

}

}

}

3.处理复杂控件

其实这个里面的复杂控件就两种,一种是列表 一种是组

给简单大家解释一下列表是什么意思:  大家看有的表格里面是多行多列的,意味着同样的字段数据 可能要添写多条。

那么对应在app里面   就是 这些字段放到了一起  做成了一个 组。  那么这些字段添加多条 就是 在组后面放了一个 + 号

点击+号  这个组 就增加一组 。所以这个带+号的字段 就是 列表字段。

组和 列表 处理起来相对来说非常麻烦。

1).子项数据获取

2).布局嵌套

3).点击事件单独处理

4)保存数据独立拼接

具体这些问题,我就不一一展开说了。大家倘若有做的,具体做的时候自然会体会到。

4.处理点击事件

界面拼接完成后 ,要处理控件里面的点击事件。做的时候就会发现  倘若界面出现同一个item布局  ,布局里面包含点击事件 ,正常给控件设置点击事件,会发现 点击控件的时候无法区分开每个点击事件

所以处理点击事件的时候:原理  就是先循环整体的大布局 ,找到里面的每一项小布局,然后单独处理每一项小布局里面的控件。

这样才能保证点击事件没有问题。

代码贴一下:

@Override

public void onClick(View v) {

if (v.getId() == R.id.content_iv) {// 范例

} else if (v.getId() == R.id.voice_iv) {// 语音

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_two) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

mVoice = new VoiceToWord(this, editText);

mVoice.GetWordFromVoice();

}

} else if (viewTag == ViewTypeUtil.item_view_type_thirteen || viewTag == ViewTypeUtil.item_view_type_ten) {

LinearLayout l = (LinearLayout) ((LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0)).getChildAt(1);

for (int j = 0; j < l.getChildCount(); j++) {

LinearLayout l_add = (LinearLayout) ((LinearLayout) l.getChildAt(j));

for (int k = 0; k < l_add.getChildCount(); k++) {

int viewTag_child = (int) l_add.getChildAt(k).getTag();

if (viewTag_child == ViewTypeUtil.item_view_type_two) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0);

EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

mVoice = new VoiceToWord(this, editText);

mVoice.GetWordFromVoice();

}

}

}

}

}

}

} else if (v.getId() == R.id.special_iv) {// 特殊字符

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_two) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

mSpecialdialog = new SpecialWordsDialog(context, editText);

}

} else if (viewTag == ViewTypeUtil.item_view_type_thirteen || viewTag == ViewTypeUtil.item_view_type_ten) {

LinearLayout l = (LinearLayout) ((LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0)).getChildAt(1);

for (int j = 0; j < l.getChildCount(); j++) {

LinearLayout l_add = (LinearLayout) ((LinearLayout) l.getChildAt(j));

for (int k = 0; k < l_add.getChildCount(); k++) {

int viewTag_child = (int) l_add.getChildAt(k).getTag();

if (viewTag_child == ViewTypeUtil.item_view_type_two) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0);

EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

mSpecialdialog = new SpecialWordsDialog(context, editText);

}

}

}

}

}

}

} else if (v.getId() == R.id.et_test_date_value) {// 时间选择

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_three) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlgByType(this, editText, 1);

}

} else if (viewTag == ViewTypeUtil.item_view_type_fourteen) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlg(this, editText);

}

} else if (viewTag == ViewTypeUtil.item_view_type_fifteen) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlgByType(this, editText, 2);

}

} else if (viewTag == ViewTypeUtil.item_view_type_thirteen || viewTag == ViewTypeUtil.item_view_type_ten) {

LinearLayout l = (LinearLayout) ((LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0)).getChildAt(1);

for (int j = 0; j < l.getChildCount(); j++) {

LinearLayout l_add = (LinearLayout) ((LinearLayout) l.getChildAt(j));

for (int k = 0; k < l_add.getChildCount(); k++) {

int viewTag_child = (int) l_add.getChildAt(k).getTag();

if (viewTag_child == ViewTypeUtil.item_view_type_three) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlgByType(this, editText, 1);

}

} else if (viewTag_child == ViewTypeUtil.item_view_type_fourteen) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlg(this, editText);

}

} else if (viewTag_child == ViewTypeUtil.item_view_type_fifteen) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(i)).getChildAt(0);

EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag().equals(editText.getTag())) {

DlgUtil.showDateTimePickerDlgByType(this, editText, 2);

}

}

}

}

}

}

} else if (v.getId() == R.id.et_select_value) {

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_five) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

final EditText editText = (EditText) l.getChildAt(1);

if (v.getTag(R.id.select_view_detial_id).equals(editText.getTag(R.id.select_view_detial_id))) {

int position = (int) editText.getTag(R.id.select_view_position);

mDataList.clear();

List dicList = mFormDetailList.get(position).dicBeanList;

for (DicBean dicBean : dicList) {

mDataList.add(dicBean.getDicName());

}

CusSpinerAdapter mAdapter = new CusSpinerAdapter(this);

mAdapter.refreshData(mDataList, 0);

View contentView = LayoutInflater.from(context).inflate(R.layout.common_form_view, null);

SpinerPopWindow mSpinerPopWindow = new SpinerPopWindow(this, R.layout.spiner_window_layout, true);

mSpinerPopWindow.setAdatper(mAdapter);

mSpinerPopWindow.setItemListener(new IOnItemSelectListener() {

@Override

public void onItemClick(int pos) {

if (pos >= 0 && pos <= mDataList.size()) {

String value = (String) mDataList.get(pos);

editText.setText(value.toString());

}

}

});

mSpinerPopWindow.setWidth(editText.getWidth());

int windowPos[] = PopMeasure.calculatePopWindowPos(editText, contentView);

int xOff = 25;// 可以自己调整偏移

windowPos[0] -= xOff;

mSpinerPopWindow.showAtLocation(v, Gravity.TOP | Gravity.START, windowPos[0], windowPos[1]);

}

}else if(viewTag == ViewTypeUtil.item_view_type_thirteen || viewTag == ViewTypeUtil.item_view_type_ten){

LinearLayout l = (LinearLayout) ((LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0)).getChildAt(1);

for (int j = 0; j < l.getChildCount(); j++) {

LinearLayout l_add = (LinearLayout) ((LinearLayout) l.getChildAt(j));//第二层布局layout

for (int k = 0; k < l_add.getChildCount(); k++) {

int viewTag_child = (int) l_add.getChildAt(k).getTag();

if(viewTag_child == ViewTypeUtil.item_view_type_five){

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0);//第三层每一项

final EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag(R.id.select_view_detial_id).equals(editText.getTag(R.id.select_view_detial_id))) {

int position = (int) editText.getTag(R.id.select_view_position);

mDataList.clear();

List dicList = new ArrayList<FormDetailBean.FormDetail.DicBean>();

if (viewTag == ViewTypeUtil.item_view_type_ten) {

dicList = mFormDetailChildList.get(position).dicBeanList;

}else if (viewTag == ViewTypeUtil.item_view_type_thirteen) {

dicList = mFormZuDetailChildList.get(position).dicBeanList;

}

for (DicBean dicBean : dicList) {

mDataList.add(dicBean.getDicName());

}

CusSpinerAdapter mAdapter = new CusSpinerAdapter(this);

mAdapter.refreshData(mDataList, 0);

View contentView = LayoutInflater.from(context).inflate(R.layout.common_form_view, null);

SpinerPopWindow mSpinerPopWindow = new SpinerPopWindow(this, R.layout.spiner_window_layout, true);

mSpinerPopWindow.setAdatper(mAdapter);

mSpinerPopWindow.setItemListener(new IOnItemSelectListener() {

@Override

public void onItemClick(int pos) {

if (pos >= 0 && pos <= mDataList.size()) {

String value = (String) mDataList.get(pos);

editText.setText(value.toString());

}

}

});

mSpinerPopWindow.setWidth(editText.getWidth());

int windowPos[] = PopMeasure.calculatePopWindowPos(editText, contentView);

int xOff = 200;// 可以自己调整偏移

windowPos[0] -= xOff;

mSpinerPopWindow.showAtLocation(v, Gravity.TOP | Gravity.START,windowPos[0], windowPos[1]);

}

}else if(viewTag_child == ViewTypeUtil.item_view_type_thirteen || viewTag_child == ViewTypeUtil.item_view_type_ten){

LinearLayout l3 = (LinearLayout) ((LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0)).getChildAt(1);

for (int j3 = 0; j3 < l3.getChildCount(); j3++) {

LinearLayout l_add3 = (LinearLayout) ((LinearLayout) l3.getChildAt(j3));

for (int k3 = 0; k3 < l_add3.getChildCount(); k3++) {

int viewTag_child3 = (int) l_add3.getChildAt(k3).getTag();

if(viewTag_child3 == ViewTypeUtil.item_view_type_five){

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add3.getChildAt(k3)).getChildAt(0);

final EditText editText = (EditText) l_view.getChildAt(1);

if (v.getTag(R.id.select_view_detial_id).equals(editText.getTag(R.id.select_view_detial_id))) {

int position = (int) editText.getTag(R.id.select_view_position);

mDataList.clear();

List dicList = mFormZuDetailChildList.get(position).dicBeanList;

for (DicBean dicBean : dicList) {

mDataList.add(dicBean.getDicName());

}

CusSpinerAdapter mAdapter = new CusSpinerAdapter(this);

mAdapter.refreshData(mDataList, 0);

View contentView = LayoutInflater.from(context).inflate(R.layout.common_form_view, null);

SpinerPopWindow mSpinerPopWindow = new SpinerPopWindow(this, R.layout.spiner_window_layout, true);

mSpinerPopWindow.setAdatper(mAdapter);

mSpinerPopWindow.setItemListener(new IOnItemSelectListener() {

@Override

public void onItemClick(int pos) {

if (pos >= 0 && pos <= mDataList.size()) {

String value = (String) mDataList.get(pos);

editText.setText(value.toString());

}

}

});

mSpinerPopWindow.setWidth(editText.getWidth());

int windowPos[] = PopMeasure.calculatePopWindowPos(editText, contentView);

int xOff = 200;// 可以自己调整偏移

windowPos[0] -= xOff;

mSpinerPopWindow.showAtLocation(v, Gravity.TOP | Gravity.START,windowPos[0], windowPos[1]);

}

}

}

}

}

}

}

}

}

} else if (v.getId() == R.id.et_select_part_value) {

CheckPart_Monomer_Activity.actionStartForResult(context, mPartSelectValueEt.getText().toString(), “”, “”, monomerId, CheckPart_Monomer_Activity.class);

} else if (v.getId() == R.id.cbx_type_nine) {// 类型9 多选框意向

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_nine) {

LinearLayout l = (LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0);

CheckBox checkBox = (CheckBox) l.getChildAt(1);

} else if (viewTag == ViewTypeUtil.item_view_type_thirteen || viewTag == ViewTypeUtil.item_view_type_ten) {

LinearLayout l = (LinearLayout) ((LinearLayout) ((LinearLayout) mMainView.getChildAt(i)).getChildAt(0)).getChildAt(1);

for (int j = 0; j < l.getChildCount(); j++) {

LinearLayout l_add = (LinearLayout) ((LinearLayout) l.getChildAt(j));

for (int k = 0; k < l_add.getChildCount(); k++) {

int viewTag_child = (int) l_add.getChildAt(k).getTag();

if (viewTag_child == ViewTypeUtil.item_view_type_nine) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0);

CheckBox checkBox = (CheckBox) l_view.getChildAt(1);

}

}

}

}

}

} else if (v.getId() == R.id.item_eleven_value_et) {

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_eleven) {

if (!TextUtils.isEmpty(mDrawingPath)) {

Intent intent = new Intent(CommonFormViewActivity.this, DrawingTypeActivity.class);

intent.putExtra(“drawingPath”, mDrawingPath);

最后

跳槽季整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

= (int) l_add.getChildAt(k).getTag();

if (viewTag_child == ViewTypeUtil.item_view_type_nine) {

LinearLayout l_view = (LinearLayout) ((LinearLayout) l_add.getChildAt(k)).getChildAt(0);

CheckBox checkBox = (CheckBox) l_view.getChildAt(1);

}

}

}

}

}

} else if (v.getId() == R.id.item_eleven_value_et) {

for (int i = 0; i < mMainView.getChildCount(); i++) {

int viewTag = (int) mMainView.getChildAt(i).getTag();

if (viewTag == ViewTypeUtil.item_view_type_eleven) {

if (!TextUtils.isEmpty(mDrawingPath)) {

Intent intent = new Intent(CommonFormViewActivity.this, DrawingTypeActivity.class);

intent.putExtra(“drawingPath”, mDrawingPath);

最后

跳槽季整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-yLwLmp6P-1715707345117)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值