gpt4 book ai didi

android - 我可以得到编辑文本离开事件吗

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:09:08 25 4
gpt4 key购买 nike

我希望在 Edittext 离开事件后将 edittext“文本”反射(reflect)在 textview 上是否有可能在 android 中我尝试过这个可以有人告诉我有什么问题或它在 android 中不可能吗?

我尝试了所有可能的事件

objNextbet=getNextBets();
Button btnbetNow =(Button)findViewById(R.id.btnBetNow);
try
{
SimpleExpandableListAdapter expListAdapter =
new SimpleExpandableListAdapter(
this,
createBetGroupList("next"), // groupData describes the first-level entries
R.layout.group_row, // Layout for the first-level entries
new String[] { "BetGroup" }, // Key in the groupData maps to display
new int[] { R.id.childname }, // Data under "colorName" key goes into this TextView
createBetChildList("next") , // childData describes second-level entries
R.layout.child_row, // Layout for second-level entries
new String[] { "betText","betRate","betID" }, // Keys in childData maps to display
new int[] { R.id.txtBetText, R.id.txtdecRate,R.id.txtstrBetID} // Data under the keys above go into these TextViews

) {
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
final View childview = super.getChildView(groupPosition, childPosition,isLastChild, convertView, parent);


final TextView txtBetText = (TextView)childview.findViewById(R.id.txtBetText);
final TextView txtstrBetID = (TextView)childview.findViewById(R.id.txtstrBetID);
final TextView txtdecRate = (TextView)childview.findViewById(R.id.txtdecRate);


String strBetGroup="";
for(int n = 0 ; n < objNextbet.size() ; n++ )
{
if(objNextbet.get(n).getBetText().toString().equals(txtBetText.getText().toString()))
{
strBetGroup=objNextbet.get(n).getstrBetGroupName().toString();
}
}



Button btnBetNow = (Button)childview.findViewById(R.id.btnBetNow);
btnBetNow.setTag(txtBetText.getText() + "-" +
txtstrBetID.getText() +"-" +txtdecRate.getText()+"-"+strBetGroup);

btnBetNow.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view)
{
try
{
String TagValue=(String) view.getTag();
final String bet[] = TagValue.split("-");

final Dialog dialogbetNow = new Dialog(myucontext);
/** Disabling The PopUp Title Bar */
dialogbetNow.requestWindowFeature(Window.FEATURE_NO_TITLE);

/** Set The Content For The PopUp */
dialogbetNow.setContentView(R.layout.popupbet);

/** Set The PopUp Deposit Balance */
TextView txtCashcredit =(TextView)dialogbetNow.findViewById(R.id.txtCashcredit);
txtCashcredit.setText(Double.toString(objCGUserProfile.getUsedCredit()).toString());

final TextView txtbetBetText = (TextView)dialogbetNow.findViewById(R.id.txtbetBetText);
txtbetBetText.setText(bet[0]);

TextView txtbetRate = (TextView)dialogbetNow.findViewById(R.id.txtbetRate);
txtbetRate.setText(bet[2]);

Button btnpopupBetNow = (Button)dialogbetNow.findViewById(R.id.btnpopupBetNow);
btnpopupBetNow.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v)
{

final EditText ETStake = (EditText)dialogbetNow.findViewById(R.id.ETStake);

if(ETStake.getText().toString().equals(""))
{
TextView txtError =(TextView)dialogbetNow.findViewById(R.id.txtError);
txtError.setTextColor(Color.RED);
txtError.setText("Please Enter cash.");
}
else
{
final double cash = Double.valueOf((String)ETStake.getText().toString()).doubleValue();

ETStake.setOnFocusChangeListener(new EditText.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v,boolean hasFocus)
{
if (!hasFocus)
{
// TODO: the editText has just been left
TextView txtRisk = (TextView)dialogbetNow.findViewById(R.id.txtRisk);
TextView txtReturn = (TextView)dialogbetNow.findViewById(R.id.txtReturn);
txtRisk.setText(Double.toString(cash).toString());
double stake = Double.parseDouble(ETStake.getText().toString());
double rate = Double.parseDouble(bet[2]);
double betReturn = stake * rate;
txtReturn.setText(Double.toString(betReturn));
}

}
});

}
}
});

ImageView imgCancel = (ImageView)dialogbetNow.findViewById(R.id.imgCancel);
imgCancel.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v)
{
try
{
dialogbetNow.cancel();
}
catch (Exception e)
{
}
}
});

dialogbetNow.show();

}

catch(Exception ex)
{
ex.toString();
}
}
});

return childview;
}

最佳答案

您可以在 Activity 的 onCreate 方法内的 EditText 上注册一个 OnFocusChangeListener:

final EditText et = (EditText)findViewById(R.id.my_edit_text);
et.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
if (!hasFocus)
// TODO: the editText has just been left
}
});

此处 onFocusChangev 参数是您的 EditText 控件。

此外,如果您想在 EditText 内容的每次更改时更新您的 TextView,您应该将更新代码放在 public void afterTextChanged 中(Editable s) 已注册的 TextWatcher 方法。

//确保 txtRisk TextView 是 dialogbetNow View 的一部分。

关于android - 我可以得到编辑文本离开事件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5830995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com