2014-04-07 2 views
0

Я пытаюсь заставить кнопку (R.id.buttonring) называть любой номер телефона, введенный в текстовое окно, называемое tvTelefon. Однако, когда я нажимаю эту кнопку, мой телефон пытается называть «w4126848130,511290,549» вместо номера телефона, введенного в текстовое окно. Какие идеи приходят? Я не получаю сообщений об ошибках, поэтому я не знаю! Благодаря!Android намерение получить неправильный номер телефона

public class Activity2 extends Activity { 

    public static final String SPARAD_DATA = "sparadData"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_2); 

     SharedPreferences sp = getSharedPreferences(SPARAD_DATA, Context.MODE_PRIVATE); 
     TextView tvRubrik = (TextView)findViewById(R.id.textViewrubrik); 
     tvRubrik.setText(sp.getString("rubrik", "Rubrik saknas")); 
     TextView tvNamn = (TextView)findViewById(R.id.textViewnamn); 
     tvNamn.setText(sp.getString("namn", "Namn saknas")); 
     TextView tvText = (TextView)findViewById(R.id.textViewtext); 
     tvText.setText(sp.getString("text", "Text saknas")); 
     final TextView tvTelefon = (TextView)findViewById(R.id.textViewtelefon); 
     tvTelefon.setText(sp.getString("telefon", "Telefon saknas")); 
     TextView tvPris = (TextView)findViewById(R.id.textViewpris); 
     tvPris.setText(sp.getString("pris", "Pris saknas")); 

    Button r = (Button)findViewById(R.id.buttonring); 
    r.setOnClickListener (new View.OnClickListener() { 
     Intent call = new Intent(Intent.ACTION_DIAL); 
     @Override 
     public void onClick(View v){ 
      call.setData(Uri.parse("tel:" +tvTelefon)); 
      startActivity(call); 
     } 
     }); 
    } 
} 

ответ

0

На самом деле, как я понимаю ваш размещенный код, вы можете просто взять номер телефона прямо со своих предпочтений. Попробуйте это:

call.setData(Uri.parse("tel:" + sp.getString("telefon", ""))); 

Вместо:

call.setData(Uri.parse("tel:" +tvTelefon)); 
+0

Ваш метод также работает! Благодаря! –

1

Незначительное изменение может помочь вам:

call.setData(Uri.parse("tel:" +tvTelefon)); 

Оно должно быть:

call.setData(Uri.parse("tel:" +tvTelefon.getText().toString())); 

вы передаете ссылку на объект, получить строку, которую вы вложили в него.

+0

Ничего себе, что сделал трюк! Благодаря! –

Смежные вопросы