Как использовать EditText для извлечения строки в Android? - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь создать приложение для получения номера телефона и сообщения в качестве ввода от пользователя и отправки смс.К сожалению, EditText вызывает проблемы.Вот код, который я использовал.Может ли кто-нибудь исправить это для меня?спасибо!

public class SmsActivity extends Activity   
{
    EditText et1,et2;  
    Button send;  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState)   
    {
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  

        et1 = (EditText)findViewById(R.id.et1);  
        et2=(EditText)findViewById(R.id.et2)…  

        final String phno = et1.getText().toString();   
        final String msg= et2.getText().toString();   

        send = (Button) findViewById(R.id.send);  
        send.setOnClickListener(new View.OnClickListener()  
        {
            public void onClick(View v)  
            {
                sendsms(phno,msg);  
            }
        });
    }


    private void sendsms(String phno,String msg)  
    {
        SmsManager sms = SmsManager.getDefault();  
        sms.sendTextMessage(phno, null, msg, null, null);  
    }
}

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Вы устанавливаете ваши строки в методе onCreate() (который вызывается только один раз, как это даже упоминается в комментарии в вашем коде =)) в значения в EditText с, которые, как я полагаю, в данный момент пусты, и поэтомув вашем OnClickListener вы используете те начальные значения, которые никогда не меняются.Что вам нужно для вашего OnClickListener это

send = (Button) findViewById(R.id.send);  
send.setOnClickListener(new View.OnClickListener()  {
    public void onClick(View v)  
    {
        String phno = et1.getText().toString();   
        String msg= et2.getText().toString();   

        sendsms(phno,msg);  
    }
});
0 голосов
/ 18 января 2012

Я сделаю все возможное, чтобы помочь, даже если вы очень расплывчаты.

В этих строках:

et1 = (EditText)findViewById(R.id.et1);<br> et2=(EditText)findViewById(R.id.et2)…

Являются ли et1 и et2 фактическимиидентификаторы этих форм, как указано в вашем макете XML?Вы намеренно пропустили точку с запятой после 'et2)'?

Кроме того, вам не нужно делать финальные строки, хотя я думаю, это личный выбор.

Другая вещь...

Этот PDF-файл поможет вам сделать то, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...