Я использую Html.fromHtml()
, чтобы получить контент и отобразить его в своей деятельности. Для этого я использую ImageGetter. У меня возникла проблема: если телефон не смог подключиться к Интернету, приложение потерпело крах, поскольку изображения не могли загрузить. Вместо этого я хотел, чтобы изображение-заполнитель сохранялось в папках ldpi/mdpi/...etc
, которые будут вставлены всякий раз, когда изображение не может быть загружено.ScrollView не работает с Drawables Android
Мой ImageGetter использует URLImageParser, который имеет следующий метод onPostExecute():
@Override
protected void onPostExecute(Drawable result) {
//check to see if an image was found (if not could
//be due to no internet)
if(result ==null){
//the drawable wasn't found so use the image not found
//png
Drawable imageNotFound = a.getResources().getDrawable(R.drawable.image_not_found);
result = imageNotFound;
}
intrinsicHeight = result.getIntrinsicHeight();
intrinsicWidth = result.getIntrinsicWidth();
DisplayMetrics dm = new DisplayMetrics();
((WindowManager) c.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels -50;
int height = width * intrinsicHeight/intrinsicWidth;
result.setBounds(0, 0, 0 + width, 0
+ height);
urlDrawable.setBounds(0, 0, 0+width, 0+height);
// change the reference of the current drawable to the result
// from the HTTP call
urlDrawable.drawable = result;
// redraw the image by invalidating the container
URLImageParser.this.container.invalidate();
// For ICS
URLImageParser.this.container.setHeight((URLImageParser.this.container.getHeight()
+ height));
// Pre ICS
URLImageParser.this.container.setEllipsize(null);
}
Я просто вставляется в (result==null)
если заявление в верхней части этого метода. Но теперь, если изображения могут быть загружены, приложение работает отлично. Если изображения не могут быть загружены и вместо них используются заполнители, я получаю нечетное поведение.
Прокрутка никогда не прокручивается в нижней части экрана, и я понятия не имею, почему это так. Теоретически не должно быть разницы между моим imageNotFound drawable (который является файлом png) и файлами, загруженными из Интернета. Прокрутка будет немного двигаться.
Я понятия не имею, что вызывает это. При поиске в Интернете у большинства людей, похоже, возникают проблемы с RelativeLayouts. Я не мог найти никого, у кого проблемы с drawables или TableLayouts.
Мой XML для макета заключается в следующем:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:paddingBottom = "0dip"
android:orientation = "vertical" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,1"
android:shrinkColumns="0,1"
android:id = "@+id/SharedTableLayout"
android:paddingBottom = "0dip" >
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:paddingBottom = "0dip">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id = "@+id/SharedTableContent"
android:layout_span="2"
android:gravity = "left"
android:paddingLeft = "10dip"
android:paddingRight = "10dip"
android:paddingTop = "20dip"
android:paddingBottom = "0dip"/>
</TableRow>
</TableLayout>
</ScrollView>
Я бы очень признателен за любые предложения по этому вопросу, я застрял на нем в течение нескольких недель.
Спасибо за ваше время
TextView с идентификатором SharedTableContent отображает строку, которая была преобразована из HTML с помощью Html.fromHtml(), так что изображения могут быть окружены текстом, который означает, что я не могу жесткий код решения в XML как нет способа сообщить, сколько изображений будет загружаться заранее, все это делается программно.
Вместо 'ScrollView' почему ты не попробовать с [' Список View'] (http://developer.android.com/guide/topics/ui/layout/listview.html) по какой-либо конкретной причине и для загрузки изображений ['volley'] (http://developer.android.com/training/volley /request.html) или ['picasso'] (http://square.github.io/picasso/) – kId
Я относительно новичок в android, я никогда не слышал о ListView. Будет ли она автоматически прокручиваться? – user3707803
да, конечно, он будет прокручивать 'vertically' – kId