2011-05-23 46 views
0

我試圖執行下面的一段代碼。如果我輸入的網站名稱爲http [例如:http://www.google.com]我正在輸出正確的輸出。否則,我正在強制關閉。即使我正在捕捉activitynotfoundexception然後我也ActivityNotFoundException程序中的例外

幫幫我。

try { 
    Button browse=(Button)findViewById(R.id.Browse); 
    browseURl=(EditText)findViewById(R.id.BrowseUrl); 
    browse.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent invokeURI=new Intent(Intent.ACTION_VIEW,Uri.parse(browseURl.getText().toString())); 
      startActivity(invokeURI); 
     } 
    }); 
} catch (ActivityNotFoundException ex) { 
    // TODO: handle exception 

    Log.e("BrowseURI","Failed Browsing the given URI",ex); 
} 
+0

檢查日誌以查看拋出的異常。可能類似於URISyntaxException。 – 2011-05-23 09:43:38

回答

2

你需要抓住你的onClick事件中的異常,因爲你得到的例外您點擊後,沒有當你掛鉤的事件處理程序。

@Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     Intent invokeURI=new Intent(Intent.ACTION_VIEW,Uri.parse(browseURl.getText().toString())); 
     try { 
      startActivity(invokeURI); 
     } 
     catch (ActivityNotFoundException ex) { 
      Log.e("BrowseURI","Failed Browsing the given URI",ex); 
     } 
    } 
+0

@ Scottie..thanks ....所以,我必須放置try-catch塊.....你可以解釋一下....我沒有明白你的意思..... – Sarath 2011-05-23 12:09:08

+0

'try {startActivity( invokeURI);} catch(ActivityNotFoundException ex){Log.e(...); }' – Scottie 2011-05-23 12:20:27

+0

@Scottie ....感謝很多.....很高興認識你....我需要你的一個更多的幫助...你能建議我一本好書來學習核心和先進的android .. – Sarath 2011-05-23 13:25:58