Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

asInputConfirm方法复用现有布局时,OnInputConfirmListener接口方法参数回传给调用方 #1240

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

Expand Down Expand Up @@ -183,8 +184,9 @@ public void onConfirm() {
"注意:你自己的布局必须提供一些控件Id,否则XPopup找不到View。\n具体需要提供哪些Id,请查看文档[内置弹窗]一章。", null,
new OnInputConfirmListener() {
@Override
public void onConfirm(String text) {

public void onNewConfirm(BasePopupView view) {
EditText et2 = view.findViewById(R.id.et_input2);
ToastUtils.showShort(et2.getText());
}
}, null, R.layout.my_confim_popup) //最后一个参数绑定已有布局
.show();
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/res/layout/my_confim_popup.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@
android:lines="4"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<EditText
android:id="@+id/et_input2"
android:background="@android:color/holo_blue_light"
android:lines="2"
android:text="我是复用布局的其他控件"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<View
android:background="#ff0"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,12 @@ public void onClick(View v) {
if (cancelListener != null) cancelListener.onCancel();
dismiss();
} else if (v == tv_confirm) {
if (inputConfirmListener != null)
inputConfirmListener.onConfirm(et_input.getText().toString().trim());
if (inputConfirmListener != null) {
if (null != et_input) {
inputConfirmListener.onConfirm(et_input.getText().toString().trim());
}
inputConfirmListener.onNewConfirm(this);
}
if (popupInfo.autoDismiss) dismiss();
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
package com.lxj.xpopup.interfaces;

import android.view.View;

import com.lxj.xpopup.core.BasePopupView;

/**
* Description:
* Create by dance, at 2018/12/17
*/
public interface OnInputConfirmListener {
void onConfirm(String text);

default void onConfirm(String text){}

//对于自定义输入布局,不适用onConfirm可以用onNewConfirm去findViewById处理其他控件
default void onNewConfirm(BasePopupView view){}
}