给出以下首选项标头XML:
<input type="button" class="post" value="test"/>
<script type="text/javascript">
jQuery(document).ready(function($){
$(".post").on("click",function(){
$.ajax({
url: "test.php",
type: "POST",
success: function(response){
//do action
},
error: function(){
// do action
}
});
});
});
</script>
缓解此错误的最佳方法是什么:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >
<header
android:icon="@drawable/ic_public_white_36dp"
android:title="@string/menu_website" >
<intent
android:action="android.intent.action.VIEW"
android:data="http://www.example.com" />
</header>
</preference-headers>
问题是如果用户设备没有安装浏览器,它们将因该错误而崩溃。
此外,亚马逊电视设备也将因各种无浏览器异常而崩溃(因为他们没有浏览器)。
通常,您可以检查此Intent是否存在接收器,或者只是捕获异常。使用XML更加困难。阻止此操作的唯一方法是检查Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://www.example.com }
中的设备,以便为“坏”设备删除此标头?
答案 0 :(得分:0)
我目前对这种情况的回答。希望有一个更通用的解决方案。
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
if(Utils.isAmazonTV() || !Utils.canHandleWebsite(this)) {
Iterator<Header> it = target.iterator();
while(it.hasNext()) {
Header header = it.next();
if(header.id == R.id.preference_website) {
it.remove();
}
}
}
}
答案 1 :(得分:0)
根据你自己的回答,我选择做一些稍微改进的事情。
<script>
$(document).ready(function()
{
$("body").on("click", ".has-feedback a", function()
{
$('.has-feedback a').css('opacity',0.5);
$(this).css('opacity',1);
});
});
</script>
<div class="form-group has-feedback ng-scope">
<a href="#" class="btn btn- newbutton7"><strong style="text-align:center;font-size:17px;font-family: sans-serif;margin-left:-4px;">Annual Compensation</strong></a>
<a href="#" class="btn btn- newbutton8"><strong style="text-align:center;font-size:17px;font-family: sans-serif;">Monthly Payslips</strong></a>
<a href="#" class="btn btn- newbutton9"><strong style="text-align:center;font-size:17px;font-family: sans-serif;margin-left:-8px;">Investment</strong></a>
</div>