Форум программистов, компьютерный форум CyberForum.ru

Wrap_content в кастомном адаптере - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Вычитывание байтов из InputStream сокета Bluetooth http://www.cyberforum.ru/android-dev/thread1220767.html
Создан блютузный сокет, приконнекчен к девайсу, запущен следующий поток: private class ReceiveDataThread extends Thread { public boolean stopThread = false; private InputStream inStream; //private BufferedReader bufferedReader; // not working private StringBuilder receivedString;
Android Как передать целочисленную переменную и картинку из сервиса в активити? Как передать целочисленную переменную и картинку из сервиса в активити? http://www.cyberforum.ru/android-dev/thread1220757.html
Android блочит массовую рассылку смс через приложение Android
отправляю обычным образом через sendMultipartTextMessage как избежать блокировки? может можно как-то отключить это в настройках самого девайса?
LayoutInflater - зачем он нужен? Android
Добрый день! Изучаю Андроид и вот застопорился на одной из тем про LayoutInflater. Дело в том что как я не старался понять автора уроков(http://startandroid.ru/ru/uroki/vse-uroki-spiskom/80-urok-40-layoutinflater-uchimsja-ispolzovat.html вот кстати сам урок) ничего не получалось. Поиск в гугле привел на английские форумы где кое-что поняв так и не удалось мне создать четкое представление о ...
Android После добавления модуля изменилось название приложения http://www.cyberforum.ru/android-dev/thread1220436.html
Всем доброго времени суток :-) Опишу проблему: Среда разработки - IntelliJ IDEA. После добавления модуля в исходный проект, название apk изменилось на app_name модуля, а так же все заголовки actionbar исходного приложения берут app_name из ресурсов модуля. В манифесте исходного проекта его название, в манифесте модуля название модуля. Подскажите, пожалуйста, в чем может быть причина ...
Android Eclipse не создает Activity Решил заняться программированием для андроида и сразу встрял вначале при создании проекта ставлю галочку create activity. но в папка layout пустая подробнее

Показать сообщение отдельно
Onregs
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 13

Wrap_content в кастомном адаптере - Android

01.07.2014, 18:32. Просмотров 483. Ответов 0
Метки (Все метки)

Добрый день пытаюсь парсить новости и выводить их в ListView через кастомный адаптер.
вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
public class NewsListAdapter extends BaseListAdapter {
 
 
    protected ArrayList<ItemNews> items;
 
    public NewsListAdapter(Context context, ArrayList<ItemNews> items) {
        super(context, items);
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null) {
            convertView = mLInflater.inflate(R.layout.item_news, parent, false);
        }
        findView(convertView, position);
 
        return convertView;
    }
 
    public void findView(View convertView, int position) {
        ItemNews news = getItemNews(position);
 
        TextView[] textView = new TextView[4];
        WebView webView;
        ImageView imageView;
        textView[0] = (TextView) convertView.findViewById(R.id.tvText);
        textView[1] = (TextView) convertView.findViewById(R.id.tvText1);
        textView[2] = (TextView) convertView.findViewById(R.id.tvText2);
        textView[3] = (TextView) convertView.findViewById(R.id.tvText3);
 
        webView = (WebView) convertView.findViewById(R.id.tvWeb);
        imageView = (ImageView) convertView.findViewById(R.id.ivImage);
 
        setFavoriteImage(news, imageView, position);
        setWebView(webView, news);
        setClicker(textView[1], news, position);
        setViewPubDate(textView[0], news);
 
        textView[2].setText(news.getTime());
        textView[3].setVisibility(View.GONE);
    }
 
    public void setViewPubDate(TextView textView, ItemNews news) {
        String tag = news.getTag();
 
        textView.setText(news.getpubDate());
 
        if (tag.equals(HandleXML.TAG_NO)) {
            textView.setVisibility(View.GONE);
        } else {
            textView.setVisibility(View.VISIBLE);
        }
    }
    public void setFavoriteImage(ItemNews news, ImageView image, int position) {
        if (news.getTagFavorite().equals("add")) {
            image.setImageResource(R.drawable.favorite_add);
        } else {
            image.setImageResource(R.drawable.favorite_no);
        }
        image.setOnClickListener(this);
        image.setTag(position);
    }
 
    public void setClicker(TextView textClick, ItemNews news, int position) {
        textClick.setText(news.getTitle());
        textClick.setOnClickListener(this);
        textClick.setTag(position);
 
    }
    public void setWebView(WebView webView, ItemNews item) {
        WebSettings settings = webView.getSettings();
        settings.setDefaultTextEncodingName("utf-8");
        String url = item.getDescription();
        String summaryUrl = "<html><body><font size='3' color='White'>".concat(url).concat("</font></body></html>");
        webView.loadDataWithBaseURL(null, summaryUrl, "text/html", "en_US", null);
        webView.setBackgroundColor(0);
    }
 
    /**
     * Opens the new Activity with webviev,when pressing a title news
     */
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tvText1:
                Intent intent = new Intent(mContext, ActivityNews.class);
                intent.putExtra("url", (getItemNews((Integer) view.getTag()).getLink()));
                mContext.startActivity(intent);
                break;
            case R.id.ivImage:
                ImageView image = (ImageView) view.findViewById(R.id.ivImage);
                if (getItemNews((Integer) view.getTag()).getTagFavorite().equals("add")) {
                    image.setImageResource(R.drawable.favorite_no);
                    getItemNews((Integer) view.getTag()).setTagFavorite("no");
                } else {
                    image.setImageResource(R.drawable.favorite_add);
                    getItemNews((Integer) view.getTag()).setTagFavorite("add");
                }
                break;
        }
    }
 
}
Краткое описание новости парсится в виде html тега , я его вывожу в WebView , но дело в том что если я делаю вместе с
Java
1
2
3
if(convertView==null) {
            convertView = mLInflater.inflate(R.layout.item_news, parent, false);
        }
то некоторые WebView получаются больше чем в них текста , хатя там установлено wrap_content;
типа вот этого :
-----------
новость1
-----------
новость2
блаблабла
-----------
новость3


-----------
т.е. там где новость 3 замного свободного места.

вот лэйоут новости:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
 
        <TextView
            android:id="@+id/tvText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textColor="@color/colorWhite"
            android:textSize="15sp"
            android:textStyle="bold" 
            android:background="@color/search"/>
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
 
        <TextView
            android:id="@+id/tvText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/colorWhite"
            android:textSize="17sp"
            android:textStyle="bold"
            android:clickable="true"/>
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false">
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal">
            <WebView
                android:id="@+id/tvWeb"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>
 
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="15">
 
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/ivImage"
                android:cropToPadding="false"/>
        </LinearLayout>
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
 
        <TextView
            android:id="@+id/tvText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:textColor="@color/colorWhite"
            android:textStyle="bold" />
 
    </LinearLayout>
 
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
        <TextView
            android:id="@+id/tvText3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:textColor="@color/colorWhite"
            android:textStyle="bold"
            android:background="@color/colorWhite"/>
 
    </LinearLayout>
 
</LinearLayout>
это можно пофиксить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru