就像你在这里看到的那样,用户必须提供一张SIM卡号码,当提供这个号码时,我想自己填写内容,自己添加提供的SIM卡号码。 我认为我必须自动更新(自动更新?)活动或类似的东西。如果有人可以通过编辑我所做的事情或通过展示示例来帮助我,那将非常有帮助! 非常感谢你
我的申请图片在这里:http://imageshack.us/a/img199/1561/12216127.png
我的代码在这里:
public class RegulationTime extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
EditText edit2;
super.onCreate(savedInstanceState);
setContentView(R.layout.regulation_time);
// Show the Up button in the action bar.
setupActionBar();
//Récupérer le n° de la carte SIM saisi par l'utilisateur
EditText edit1 = (EditText) findViewById(R.id.regedit1);
String simCard = edit1.getText().toString();
//Récupérer le n° du destinataire & le saisir automatiquement dans l'EditText
String recoverRN = MasterNumber.getDefaults("mehmet", RegulationTime.this);
edit2 = (EditText) findViewById(R.id.regedit2);
edit2.setText(recoverRN);
//On rentre automatiquement le texte "#152#SIMCardNumber#" à la place de l'utilisateur
EditText edit3 = (EditText) findViewById(R.id.regedit3);
String concatenation;
if(simCard.length()>0)
{
concatenation = "#152#" + simCard + "#";
edit3.setText(concatenation);
}
}
}
答案 0 :(得分:3)
你想要的是TextWatcher。使用onTextChanged()
,以便当用户在“Sim卡”框中键入时,“内容”框将填满。请将TextWatcher
附加到您的第一个EditText
edit1.addTextChangedListener(new TempWatcher());
并为TextWatcher
private class TempWatcher implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
if (s.length() > 0)
{
String sim = s.toString();
edit2.setText(sim);
}
}
您可能希望制作EditText
成员变量,然后在onCreate()
之前声明它们,然后像onCreate()
一样初始化它们。这应该让你开始。我写得很快,所以你可能需要调整变量名称,如果需要的话进行错误检查等等。如果有帮助,请告诉我
修改强>
public class RegulationTime extends Activity {
EditText edit1, edit2; // declare them here so they are member variables
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.regulation_time);
// Show the Up button in the action bar.
setupActionBar();
//Récupérer le n° de la carte SIM saisi par l'utilisateur
edit1 = (EditText) findViewById(R.id.regedit1); // initialize here
String simCard = edit1.getText().toString();
//Récupérer le n° du destinataire & le saisir automatiquement dans l'EditText
String recoverRN = MasterNumber.getDefaults("mehmet", RegulationTime.this);
edit2 = (EditText) findViewById(R.id.regedit2); // initialize here
edit2.setText(recoverRN);