一部のテキストに「http://www」が含まれていることをどのように知ることができますか。Webビューにドメインを表示したい。ドメイン名はTextViewで記述されますが、プレフィックスを追加する制限はありません。ユーザーが入力しなかった場合は、URLを追加してWebビューに表示する必要があります。
6 に答える
あなたはこのようにすることができます
String url = textView.getText().toString();
if(!url.startsWith("www.")&& !url.startsWith("http://")){
url = "www."+url;
}
if(!url.startsWith("http://")){
url = "http://"+url;
}
このURLを使用して、WebViewにコンテンツを表示できます
これがあなたの問題を解決することを願っています
@silwarの回答を変更し、httpsを追加しました:
if(!url.startsWith("www.")&& !url.startsWith("http://") && !url.startsWith("https://")){
url = "www."+url;
}
if(!url.startsWith("http://") && !url.startsWith("https://")){
url = "http://"+url;
}
http://
ただし、Androidでセキュリティ例外が発生することがあるため、使用する必要があることを覚えておいてくださいhttps://
。リスクのないコードの場合は、最後のチェックのように行う必要があります-
if(!url.startsWith("http://") && !url.startsWith("https://")){
url = "https://"+url;}
ドメイン名が整形式でプレフィックスが含まれている(または含まれていない)ことを確認する最も効率的な方法は、正規表現を使用することです。
Androidの正規表現に一致するJavaパターンを確認してください。それは価値があります。
Sebastienが要求したように、正規表現は良いオプションです。ビューからテキストを取得し、URIオブジェクトを作成することもできます
Uri uri = Uri.create(view.getText().toString());
次に、uri.somemethodを使用します。知りたいURLに関するすべてを取得できるはずです。uriの作成に失敗した場合は、エラーメッセージが生成され、問題が発生します。
TextViewからテキストを取得し、startsWith()を介して解析します。これがfalseの場合は、テキストに追加し、setText()を使用して再署名します。
「www。」だけのような他の表現をチェックすることもできます。したがって、contains()を詳しく見てください。
これを試して
String a = "http://";
webview.loadUrl(a + url.getText().toString());