我想在edittext离开事件之后将edittext“text”反映在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;
}
答案 0 :(得分:20)
您可以在活动OnFocusChangeListener
方法的EditText
内注册onCreate
:
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
}
});
此处v
的{{1}}参数是您的onFocusChange
控件。
另外,如果您想要更新EditText
内容中的每个更改TextView
,您应该将更新代码放在已注册{{1}的EditText
方法中}}。
//确保public void afterTextChanged(Editable s)
TextView是TextWatcher
视图的一部分。
答案 1 :(得分:2)
此处文字信息是您的编辑文字
textMessage.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
i++;
tv.setText(textMessage.getText.toString());
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
答案 2 :(得分:1)
使用onFocusChangeListener。每个视图都会通过界面通知您失去焦点。