- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 Activity 开始时,某些设备上出现下一个奇怪的 stackoverflow 错误:
04-28 14:55:56.717: E/AndroidRuntime(4345): FATAL EXCEPTION: main
04-28 14:55:56.717: E/AndroidRuntime(4345): java.lang.StackOverflowError
04-28 14:55:56.717: E/AndroidRuntime(4345): at java.lang.ref.FinalizerReference.add(FinalizerReference.java:48)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.XmlBlock$Parser.<init>(XmlBlock.java:78)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.XmlBlock.newParser(XmlBlock.java:71)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2126)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1918)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.getDrawable(Resources.java:663)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:890)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
04-28 14:55:56.717: E/AndroidRuntime(4345): at android.content.res.Resources.loadDrawable(Resources.java:1920
04-28 14:55:56.737: W/ActivityManager(440): Force finishing activity com.devpocket.kvartirka/.OfferInfo
04-28 14:55:56.737: W/ActivityManager(440): Force finishing activity com.devpocket.kvartirka/.MainActivity
04-28 14:55:57.237: W/ActivityManager(440): Activity pause timeout for ActivityRecord{417ca5f8 com.devpocket.kvartirka/.OfferInfo}
起初我以为问题出在 Google Play 服务中,但现在我找不到问题出在哪里。我还提供了我的 Activity 代码:
public class OfferInfo extends ActionBarActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
private final static int CONNECTION_FAILURE_RESOLUTION_REQUEST = 9000;
private TextView address;
private TextView flatTypeTV;
private TextView firstPrice;
private TextView secondPrice;
private TextView thirdPrice;
private TextView metroText;
private ImageView offerImage;
private String contactNumber;
private String skypeName;
private String userID;
private String lat, lng;
private String flatAddress;
private String flatID;
private int flatsCount;
private ArrayList<String> imageGallery = new ArrayList<String>();
private GoogleMap googleMap;
private WebView webView;
private CityData cityData;
private String ownerID = "";
private String ownerName = "";
private GoogleApiClient mGoogleApiClient;
private boolean mResolvingError = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offerinfo);
ImageView back = (ImageView) findViewById(R.id.backButton);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
finish();
}
});
Intent intent = getIntent();
Bundle extras = intent.getExtras();
cityData = getIntent().getParcelableExtra("DATA");
String currency = intent.getStringExtra("currencyID");
if(extras.containsKey("ownerID")) {
ownerID = intent.getStringExtra("ownerID");
}
lat = cityData.getLat();
lng = cityData.getLng();
Button showDialog = (Button) findViewById(R.id.showDialog);
webView = (WebView) findViewById(R.id.webView);
LinearLayout metroInfo = (LinearLayout) findViewById(R.id.metroInfo);
JsonParser parser = new JsonParser();
flatAddress = cityData.getAddress();
flatID = cityData.getFlatID();
String imageURL = cityData.getURL();
JsonArray jsonArray = (JsonArray)parser.parse(cityData.getPhotosArray());
JsonObject contacts = (JsonObject)parser.parse(cityData.getContacts());
userID = contacts.getAsJsonPrimitive("id").getAsString();
ownerName = contacts.getAsJsonPrimitive("name").getAsString();
contactNumber = contacts.getAsJsonPrimitive("phone_normalized_1").getAsString();
skypeName = contacts.getAsJsonPrimitive("skype").getAsString();
flatsCount = contacts.getAsJsonPrimitive("flats_count").getAsInt();
String photoURL;
for(int i = 0; i < jsonArray.size(); i++) {
photoURL = jsonArray.get(i).getAsString();
imageGallery.add(i, photoURL);
}
offerImage = (ImageView) findViewById(R.id.offerImage);
final ImageView imageTop = (ImageView) findViewById(R.id.imageTop);
Ion.with(imageTop)
.fitXY()
.load("http:" + imageURL);
Ion.with(offerImage)
.fitXY()
.load("http:" + imageURL);
ObservableScrollView scrollView = (ObservableScrollView) findViewById(R.id.scrollView);
offerImage.getHeight();
ImageView photoButton = (ImageView) findViewById(R.id.photoButton);
final RelativeLayout topLayout = (RelativeLayout) findViewById(R.id.topLayout);
scrollView.setScrollViewCallbacks(new ObservableScrollViewCallbacks() {
@Override
public void onScrollChanged(int i, boolean b, boolean b1) {
if (i > offerImage.getHeight()-topLayout.getHeight()) {
imageTop.setVisibility(View.VISIBLE);
} else if(i < offerImage.getHeight()) {
imageTop.setVisibility(View.GONE);
}
}
@Override
public void onDownMotionEvent() {
}
@Override
public void onUpOrCancelMotionEvent(ScrollState scrollState) {
}
});
LinearLayout nightPricesLayout = (LinearLayout) findViewById(R.id.nightPricesLayout);
if("0".equals(cityData.getNightPrice())) {
nightPricesLayout.setVisibility(View.GONE);
}
LinearLayout hourPricesLayout = (LinearLayout) findViewById(R.id.hourPricesLayout);
if("0".equals(cityData.getHourPrice())) {
hourPricesLayout.setVisibility(View.GONE);
}
String metro = cityData.getMetro();
metroText = (TextView) findViewById(R.id.metroText);
if (TextUtils.isEmpty(metro)) {
metroInfo.setVisibility(View.GONE);
} else {
metroText.setText(metro);
}
address = (TextView) findViewById(R.id.addressflatTV);
address.setText(flatAddress);
flatTypeTV = (TextView) findViewById(R.id.flatTypeTV);
flatTypeTV.setText(cityData.getTitle());
firstPrice = (TextView) findViewById(R.id.firstPrice);
secondPrice = (TextView) findViewById(R.id.secondPrice);
thirdPrice = (TextView) findViewById(R.id.thirdPrice);
if("643".equals(currency)) {
CharSequence firstText = spanWithRoubleTypeface(cityData.getDayPrice() + "₽");
firstPrice.setText(firstText);
CharSequence secondText = spanWithRoubleTypeface(cityData.getNightPrice() + "₽");
secondPrice.setText(secondText);
CharSequence thirdText = spanWithRoubleTypeface(cityData.getHourPrice() + "₽");
thirdPrice.setText(thirdText);
} else if("398".equals(currency)) {
firstPrice.setText(cityData.getDayPrice()+"\u20B8");
secondPrice.setText(cityData.getNightPrice()+"\u20B8");
thirdPrice.setText(cityData.getHourPrice()+"\u20B8");
} else if("980".equals(currency)) {
firstPrice.setText(cityData.getDayPrice()+"\u20B4");
secondPrice.setText(cityData.getNightPrice()+"\u20B4");
thirdPrice.setText(cityData.getHourPrice()+"\u20B4");
} else {
firstPrice.setText(cityData.getDayPrice());
secondPrice.setText(cityData.getNightPrice());
thirdPrice.setText(cityData.getHourPrice());
}
offerImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(OfferInfo.this, GalleryActivity.class);
intent.putStringArrayListExtra("IMAGES", imageGallery);
startActivity(intent);
}
});
String descriptionFull = cityData.getDescription_full();
descriptionFull = descriptionFull.replace("<ul>", "");
descriptionFull = descriptionFull.replace("</ul>", "");
descriptionFull = descriptionFull.replace("<li>", "");
descriptionFull = descriptionFull.replace("</li>", "<br />");
showInWebView(descriptionFull);
photoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(OfferInfo.this, PhotoActivity.class);
intent.putExtra("lat", lat);
intent.putExtra("lng", lng);
intent.putExtra("Address", flatAddress);
startActivity(intent);
}
});
}
@Override
protected void onResume() {
super.onResume();
int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if(resultCode == 0) {
initializeMap();
} else {
Crashlytics.setString("GoogleMap", "Map isn't available, but i'm falling");
Toast.makeText(this, "Ошибка Google Play Services", Toast.LENGTH_LONG).show();
}
}
private void initializeMap() {
if (googleMap == null) {
final LatLng offerPosition = new LatLng(Double.parseDouble(lat), Double.parseDouble(lng));
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.map)).getMap();
Marker marker;
marker = googleMap.addMarker(new MarkerOptions().position(offerPosition));
marker.setIcon(BitmapDescriptorFactory.defaultMarker(220.0f));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(offerPosition, 13));
googleMap.getUiSettings().setScrollGesturesEnabled(false);
googleMap.getUiSettings().setMapToolbarEnabled(false);
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Intent intent = new Intent(OfferInfo.this, MapActivity.class);
intent.putExtra("lat", lat);
intent.putExtra("lng", lng);
intent.putExtra("address", flatAddress);
intent.putExtra("rooms", cityData.getRoomNumbers());
startActivity(intent);
return false;
}
});
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
Intent intent = new Intent(OfferInfo.this, MapActivity.class);
intent.putExtra("address", flatAddress);
intent.putExtra("rooms", cityData.getRoomNumbers());
intent.putExtra("lat", lat);
intent.putExtra("lng", lng);
startActivity(intent);
}
});
}
}
public void showInWebView(String data) {
webView.loadDataWithBaseURL("", "<html> <style> h3 {margin-bottom:2}</style> <body>" + data + "</body></html>", "text/html", "UTF-8", "");
}
public void showDialog(View v) {
DialogFragment newFragment = new ContactsDialog();
Bundle args = new Bundle();
args.putString("ownerID", ownerID);
args.putInt("flatsCount", flatsCount);
args.putString("contactNumber", contactNumber);
if (!ownerID.equals(userID)) {
args.putString("userID", userID);
args.putString("ownerName", ownerName);
}
if (skypeName.length() > 0)
args.putString("skypeName", skypeName);
newFragment.setArguments(args);
newFragment.show(this.getFragmentManager(), "missiles");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_offer_info, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.actionPhoto) {
Intent intent = new Intent(OfferInfo.this, PhotoActivity.class);
intent.putExtra("lat", lat);
intent.putExtra("lng", lng);
intent.putExtra("Address", flatAddress);
startActivity(intent);
return true;
} else if(item.getItemId() == R.id.home) {
onBackPressed();
finish();
} else if(item.getItemId() == R.id.homeAsUp) {
onBackPressed();
finish();
} else if (item.getItemId() == android.R.id.home) {
onBackPressed();
finish();
}
return super.onOptionsItemSelected(item);
}
private CharSequence spanWithRoubleTypeface(String priceHint) {
final Typeface roubleSupportedTypeface =
Typeface.createFromAsset(getAssets(), "fonts/rouble2.ttf");
SpannableStringBuilder resultSpan = new SpannableStringBuilder(priceHint);
for (int i = 0; i < resultSpan.length(); i++) {
if (resultSpan.charAt(i) == '\u20BD') {
TypefaceSpan2 roubleTypefaceSpan = new TypefaceSpan2(roubleSupportedTypeface);
resultSpan.setSpan(roubleTypefaceSpan, i, i + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return resultSpan;
}
@Override
public void onConnected(Bundle bundle) {
try {
initializeMap();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
if (mResolvingError) {
return;
} else if (connectionResult.hasResolution()) {
try {
mResolvingError = true;
connectionResult.startResolutionForResult(this, CONNECTION_FAILURE_RESOLUTION_REQUEST);
} catch (IntentSender.SendIntentException e) {
mGoogleApiClient.connect();
}
} else {
Toast.makeText(OfferInfo.this, "Обновите Google Play Service", Toast.LENGTH_LONG).show();
mResolvingError = true;
}
}
}
最佳答案
您有一个 StateListDrawable,即一个可绘制的选择器资源,它似乎引用自身,因此在膨胀时会导致无限递归。
关于java - Android 堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919863/
我有一个 div(蓝色框),它在父元素(红色框)内的页面上绝对定位,我需要将 overflow-y 设置为隐藏,以便它强制 Y 轴上的溢出内容切掉了,但我希望任何溢出-x 的内容都可见。 HTML:
请参阅以下帖子以获取突出显示我的问题和可能的解决方案的图片: CSS overflow-y:visible, overflow-x:scroll 但是,当您实际移动滚动条时,此策略会中断。在建议的实现
我在搜索中看到过几个类似的问题,但要么没有正确回答问题,要么没有给出答案。所以,我再问一次。 .parent { overflow-y:scroll; overflow-x:visible; wid
我读过这个CSS overflow-x hidden and overflow-y visible (以及很多其他帖子)但我无法在我的具体情况下使用它。 我正在使用 slick-slider并想添加下
我有以下 Spark 作业,试图将所有内容保留在内存中: val myOutRDD = myInRDD.flatMap { fp => val tuple2List: ListBuffer[(St
我有疑问 两个16位的值加上最大值,16位机会不会溢出? 我会详细说明 unsigned short a; unsigned short b; unsigned long c; c=(unsigne
我有这个 HTML 和 CSS,但“溢出:隐藏”标签在 Firefox 中不起作用。这让我感到难过...有人知道为什么它不起作用吗?是因为A标签不支持overflow标签吗? #page_sideba
我正在开发一个程序,用于在 C++ 中分解非常大的数字(20 位或更多),并且正在使用 GMP 来处理溢出问题。我的程序对于大约 10 位或更少的数字运行良好,但是当我向它抛出一个 15 位数字时,它
我创建了一个 Canvas ,并在其中放置了一个StackPanel。 StackPanel是水平的,它接受缩略图图像的列表。 Canvas 具有固定的大小。当我放置的缩略图多于Canvas宽度不能容
当 g_array_append_val() 时会发生什么或 GLib 中的其他附加/前置函数之一,使 GArray 的长度大于 guint (unsigned int) 所能容纳的长度? 文档对此没
overflow-x:hidden 和 overflow:hidden; 有什么区别? 我所知道的是overflow-x:hidden;禁用水平滚动,但当我使用它时,它不仅仅适用于 Firefox,所
我们正在运行 Solr 来索引大量数据,但遇到了一个非常有趣的问题,我无法在任何地方找到任何帮助。 似乎 Solr 使用带符号的 32 位整数来计算索引中当前的文档数。我们刚刚达到了这个数字,我们的
这是我的查询: 从相似性中选择 COUNT(*),其中 T1Similarity = 0 或 T2Similarity = 0 结果如下: Msg 8115, Level 16, State 2, L
int main(void) { char x1 = 0x81; char x2 = 0x1; int a, b; a = x1
我有一个 div,其中的内容通过查询的 append() 定期附加到它。随着内容越来越长,最终会溢出div。我不希望在溢出时出现滚动条,但仍然让内容向上滚动以显示下面的新内容。 这可能吗?当我使用 o
我为 UITextField 创建了一个简单的子类,它按预期工作。我遇到的唯一问题是当文本值变得太大时,它会溢出到清除按钮中。 我似乎无法找到如何仅更改文本的右侧以具有一些填充而不与清除按钮相交的方法
我想要一个包括下拉菜单的粘性导航栏。但是,当我将鼠标悬停在它上面时,下拉菜单没有显示。 如果我删除 overflow: hidden;在无序列表中,当我向下滚动时,导航栏设法保持在顶部,但是导航栏是不
我正在研究一些按钮。我想要一个翻转状态,我在一个 div 的图像中有这个,溢出:隐藏以隐藏不活动的状态。它有时有效,但有时看起来像这样: 最奇怪的是,当我尝试使用 Chrome Web Inspect
基本上,我正在尝试创建一个六边形形状,它内部有一个圆圈,圆圈的多余部分应该被隐藏。演示:https://codepen.io/AskSaikatSinha/pen/jwXNPJ?editors=110
这似乎是一个相当常见且不那么奇特的用例,但我以前没有遇到过。我设置了一支笔,但无法在那里复制它,我正在努力找出原因。 Demo Pen 左侧边栏有一个用于元素列表的自定义滚动窗口,但是虽然设置 ove
我是一名优秀的程序员,十分优秀!