2016-07-15 44 views
0

我正在嘗試創建基於兩個editText調用的應用程序。將2 EditText鏈接到全局變量和按鈕撥打電話

實例是editText1editText2。一旦填好,他們點擊添加引腳到手機。我能夠得到它去的電話,但只:

*215*null*null 

顯示出來。

所以,我的問題是我在做什麼錯的,如果我要存儲在什麼類型edit Text1要存儲在firstNumbereditText2存儲在secondNumber

此外,我如何獲得#字符顯示?

所以,我想要的結果是:

*215*firstNumber*secondNumber# 

要在電話顯示。

public class Main2Activity extends AppCompatActivity { 

    EditText firstNumber; 
    EditText secondNumber; 
    Button btnAdd; 

     @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 


     btnAdd.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       try { 

        firstNumber = (EditText)findViewById(R.id.editText2); 
        secondNumber = (EditText)findViewById(R.id.editText3); 
        btnAdd = (Button)findViewById(R.id.button5); 


        Toast.makeText(Main2Activity.this, 
        "before the call", Toast.LENGTH_LONG).show(); 


        Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:*215*" + firstNumber + "*" + secondNumber + "#")); 
        startActivity(intent); 
       } catch (Exception e) { 


       } 
      } 
     }); 

    } 
} 

現在,我們已經完成它使用此方法`

  public void onClick(View v { 
      try{ 
      EditText et = (EditText) findViewById(R.id.editText2); 
      EditText et2 = (EditText) findViewById(R.id.editText5); 

      String text= et.getEditableText().toString(); 
      String text2 =et2.getEditableText().toString(); 


      Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:*215*" + text + "*" + text2 + "#")); 
      startActivity(intent); 


     } catch (Exception e) { 
     } 
    } 

'我想要做的就是添加典當標誌或散列標籤,在輸出端。例如

* 215 * text * text2後面加上#標籤或典當# ,但它完全只是把它扔出text2之後的窗口。

所以此刻我得到的是* 215 *文本*文本2我想是* 215 *文本*文本2#

+0

爲什麼這個標籤'javascript'? – 2016-07-15 23:25:53

+0

我從那裏刪除了 –

回答

0

太謝謝你了。我採取了不同的路線,並以這種方式工作。所有其他問題都是一樣的。

再次感謝

公共無效的onClick(視圖v){ 嘗試{

   EditText et = (EditText) findViewById(R.id.editText2); 
       EditText et2 = (EditText) findViewById(R.id.editText5); 

       String text= et.getEditableText().toString(); 
       String text2 =et2.getEditableText().toString(); 


       Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:*215*" + text + "*" + text2 + "#")); 
       startActivity(intent); 


      } catch (Exception e) { 
      } 
     } 
+0

不要發佈後續問題作爲您原始問題的答案。只需編輯您的問題並更新它。關於你的問題,我不確定你的意思是什麼_請注意數字符號show_。請詳細說明一下,我很樂意爲您提供幫助。但請編輯你的問題,不要在這裏發佈。 –

+0

只是:)謝謝 –

0

要獲得的EditText的實際文本,你需要使用:

firstNumber.getText().toString(); 
secondNumber.getText().toString(); 

編輯:使用Uri.encode()方法來顯示#符號以及

String phoneNumber = firstNumber.getText().toString() + secondNumber.getText().toString() + "#"; 
Intent callIntent = new Intent(Intent.ACTION_DIAL); 
callIntent.setData(Uri.parse("tel:"+ Uri.encode(phoneNumber))); 
startActivity(callIntent); 
+0

現在應用程序崩潰。是否必須將其從字符串轉換爲整數 –

+0

不一定。您應該可以直接使用字符串進行調用。但如果你想,我已經添加了一個編輯。 –

+0

現在就試試。謝謝 –