С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
#1

ListView и кастомный адаптер - Программирование Android

19.11.2013, 13:01. Просмотров 1932. Ответов 19
Метки нет (Все метки)

Добрый день ув. Программисты!

Нашёл код который заполняет ListView с кастомным адаптером. Но вот проблема 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
import android.content.Context;
import android.graphics.Typeface;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
 
class CustomAdapterView extends LinearLayout {        
    public CustomAdapterView(Context context, Device device) 
    {
        super( context );       
        
        setId(device.getDeviceID());
            
        
        setOrientation(LinearLayout.HORIZONTAL);
        setPadding(0, 6, 0, 6);
        
        
        LinearLayout.LayoutParams Params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        Params.setMargins(6, 0, 6, 0);
    
        ImageView ivLogo = new ImageView(context);
        
        if (device.getDeviceType() == 0)
 
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.off));
        else if (device.getDeviceType() == 1)
 
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.on));
        
        addView(ivLogo, Params);
        
        
        Params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        LinearLayout PanelV = new LinearLayout(context);
        PanelV.setOrientation(LinearLayout.VERTICAL);
        PanelV.setGravity(Gravity.BOTTOM);
        
        TextView textName = new TextView( context );
        textName.setTextSize(16);
        textName.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
        textName.setText( device.getDeviceName());
        PanelV.addView(textName);       
        
        TextView textAddress = new TextView( context );
        textAddress.setTextSize(16);
        textAddress.setText( device.getDeviceAddress());
        PanelV.addView(textAddress);    
        
        addView(PanelV, Params);
    }
}
 
 
public class CustomAdapter extends BaseAdapter{
    
      
        private int mPosition;
        OnItemClickListener(int position){
                mPosition = position;
        }
        public void onClick(View arg0) {
                Log.v("ddd", "onItemClick at position" + mPosition);                      
        }               
    
 
    public static final String LOG_TAG = "BI::CA";
    private Context context;
    private List<Device> deviceList;
 
    public CustomAdapter(Context context, List<Device> deviceList ) { 
        this.context = context;
        this.deviceList = deviceList;
    }
 
    public int getCount() {                        
        return deviceList.size();
    }
 
    public Object getItem(int position) {     
        return deviceList.get(position);
    }
 
    public long getItemId(int position) {  
        return position;
    }
 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
        Device device = deviceList.get(position);
        View v = new CustomAdapterView(this.context, device );
        
  
        return v;
    }
 
 
}


Вопрос: Есть four.xml в нём listView как добавить в него данные, а не создавать программно?

Примечание: Так как у меня несколько экранов а не 1. на каждый экран у меня по xml`у. И нужно именно в определённый xml заполнить ListView

Код добавления:



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        final Context context = MainActivity.this;
        ListView ls2 = new ListView(context);
        ls2.setAdapter(null);
 
...
 
 for(int i=0; i<fileData.length; i++)
            {
                String[] fileData2 = fileData[i].split(";");
                int dev;
                dev=Integer.parseInt(fileData2[2]);
 
                device = new Device(fileData2[0],fileData2[1], dev%2,0, 100 + i);
                m_Devices.add(device);              
            }
 
CustomAdapter lvAdapter =  new CustomAdapter(context, m_Devices);
        ls2.setAdapter(lvAdapter);        
 
        setContentView(ls2);
    }
Спасибо за ранее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2013, 13:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ListView и кастомный адаптер (Программирование Android):

Кастомный адаптер listView - Программирование Android
Доброго времени суток, в общем впервые столкнулся с задачей создания кастомного адаптера для listView. Нашел много примеров/статей,...

Не работает кастомный адаптер - Программирование Android
Делаю программу с собственным адаптером для ListView. Компилятор ни на что не ругается, но активность с листом не открывается. Выполнение...

Несколько string массивов в кастомный адаптер - Программирование Android
Есть ListView с кастомным адаптером в отдельном классе. Нашел код на просторах как передавать в кастомный адаптер один string . А как...

Кастомный listview в виде плиток - Программирование Android
Доброго времени суток! Возник вопрос: возможно ли сделать listview (recycleview) в виде плиток, например как в пуске win 8? Копаюсь...

Адаптер и ListView - Программирование Android
Решил написать свой адаптер, работающий с listView. Беда в том, что программа вылетает сразу же. Вот код MainActivity: package...

Получить item из listView по индексу. Адаптер - simpleadapter - Программирование Android
Задача - убрать из listview некоторый итем. Думаю, можно сделать его прозрачным, или изменить адаптер. Прозрачно сделать не получалось....

19
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
19.11.2013, 13:18 #2
какая разница как создается список? вот у меня есть список
Java
1
private ListView products;
вот я придумал для него адаптер
Java
1
2
private class ProductsAdapter extends BaseAdapter {
...}
вот я его создал и присвоил списку
Java
1
2
ProductsAdapter adapter = new ProductsAdapter(this);
products.setAdapter(adapter);
1
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 14:06  [ТС] #3
Цитата Сообщение от vxg Посмотреть сообщение
какая разница как создается список?
Окей. а как его прописать на четвертый экран four.xml ??
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
19.11.2013, 14:36 #4
очевидно что в xml должно быть что то вроде
XML
1
2
3
4
5
6
7
    <ListView
        android:id="@+id/cartProducts"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"" >
    </ListView>
Добавлено через 1 минуту
а в onCreate вашего экрана что то вроде
Java
1
products = (ListView)findViewById(R.id.cartProducts);
1
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 15:40  [ТС] #5
Цитата Сообщение от vxg Посмотреть сообщение
...
Пробовал все что было очевидным и не очевидным. Итог один: приложение вываливается с ошибкой. (

Добавлено через 18 минут
Вот весь код MainActivity взгляните пожалуйста свежим взглядом:

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ListView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
public class MainActivity extends FragmentActivity {
    WebView mWebView;
    private static final String TAG = "MyApp";
 
    Device device;
    ArrayList<Device> m_Devices = new ArrayList<Device>();
    //=================
    
    /** идентификатор первого фрагмента. */
    public static final int FRAGMENT_ONE = 0;
    /** идентификатор третего. */
    public static final int FRAGMENT_THREE = 2;
    /** идентификатор второго. */
    public static final int FRAGMENT_TWO = 1;
    /** количество фрагментов. */
    public static final int FRAGMENTS = 3;
    /** адаптер фрагментов. */
    private FragmentPagerAdapter _fragmentPagerAdapter;
    /** список фрагментов для отображения. */
    private final List<Fragment> _fragments = new ArrayList<Fragment>();
    /** сам ViewPager который будет все это отображать. */
    private ViewPager _viewPager;
 
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // создаем фрагменты.
        _fragments.add(FRAGMENT_ONE, new FirstFragment());
        _fragments.add(FRAGMENT_TWO, new SecondFragment());
        _fragments.add(FRAGMENT_THREE, new ThirdFragment());
        // Настройка фрагментов, определяющих количество фрагментов, экраны и название.
        _fragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
 
            @Override
            public int getCount() {
 
                return FRAGMENTS;
            }
 
            @Override
            public Fragment getItem(final int position) {
 
                return _fragments.get(position);
            }
 
            @Override
            public CharSequence getPageTitle(final int position) {
 
                switch (position) {
                    case FRAGMENT_ONE:
                        return "Title One";
                    case FRAGMENT_TWO:
                        return "Title Two";
                    case FRAGMENT_THREE:
                        return "Title three";
                    default:
                        return null;
                }
            }
        };
        _viewPager = (ViewPager) findViewById(R.id.pager);
        _viewPager.setAdapter(_fragmentPagerAdapter);
        _viewPager.setCurrentItem(0);
 
        //=================
        final Context context = MainActivity.this;
        ListView ls2 = new ListView(context);
        // находим список
        //ListView ls2 = (ListView) findViewById(R.id.listView);
        ls2.setAdapter(null);
        //=================
 
//===========ТАЙМЕР==================================
        new CountDownTimer(2000, 1000) {
            public void onTick(long millisUntilFinished) {
                //mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
            }
            public void onFinish() {
                _viewPager.setCurrentItem(1);
                mWebView = (WebView) findViewById(R.id.webview);
                //==================WEB_Browser==================================
                // включаем поддержку JavaScript
                mWebView.getSettings().setJavaScriptEnabled(true);
                // указываем страницу загрузки
                mWebView.setWebViewClient(new HelloWebViewClient());
                mWebView.loadUrl("http://mysite.com/i.php");
                //==============END_WEB_BROWSER==================================
            }
        }.start();
//===========END_ТАЙМЕР==========
 
        new MyTask().execute();
        CustomAdapter lvAdapter =  new CustomAdapter(context, m_Devices);
        ls2.setAdapter(lvAdapter);
        setContentView(ls2);
    }
 
    private class HelloWebViewClient extends WebViewClient
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    }
 
     public class MyTask extends AsyncTask<String, Void, String> {
         @Override
        protected String doInBackground(String... stri) {
            // ПАРСИМ
            String Str;
            String url = "http://mysite.com/arr.txt";
            StringBuilder sb = null;
            try {
                URL myurl = new URL(url);
                BufferedReader br = new BufferedReader(new InputStreamReader(myurl.openStream()));
                sb = new StringBuilder(100);
                while ((Str = br.readLine()) !=null) {
                    sb.append(Str+"\n");
                }
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // РАЗБИВАЕМ НА ВХОЖДЕНИЕ
            String input = sb.toString();
            String[] fileData = input.split("\n");
 
            for(int i=0; i<fileData.length; i++)
            {
                String[] fileData2 = fileData[i].split(";");
                int dev;
                dev=Integer.parseInt(fileData2[2]);
                device = new Device(fileData2[0],fileData2[1], dev%2,0, 100 + i);
                m_Devices.add(device);
                //Log.d(TAG, "ПЕРВОЕ ВХОЖДЕНИЕ: " + fileData2[0] + " ВТОРОЕ ВХОЖДЕНИЕ: " + fileData2[1] + " ТРЕТЬЕ ВХОЖДЕНИЕ: " + fileData2[2]);
            }
            return sb.toString();
        }
     }
}
Список показывает а затем когда заканчивается таймер он выкидывает приложение. как я успел заметить после создания списка мои слайд окна пропадают. и остаётся только одно окно. по этому после таймера когда вызывается _viewPager.setCurrentItem(1); он и выкидывает.

Добавлено через 40 минут
Подскажите что я делаю не так?
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
19.11.2013, 15:41 #6
не совсем понятно как это он
Цитата Сообщение от cezer_ak Посмотреть сообщение
Список показывает
и при этом
Цитата Сообщение от cezer_ak Посмотреть сообщение
как я успел заметить после создания списка мои слайд окна пропадают. и остаётся только одно окно.
0
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 15:44  [ТС] #7
Цитата Сообщение от vxg Посмотреть сообщение
не совсем понятно как это он

и при этом
Программа парсит текст, затем расщипляет на вхождение в каждой строки, показывает весь список, а затем программа с ошибкой вырубается. (((
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
19.11.2013, 15:47 #8
то есть список корректно отображается, но падает? запустите в пошаговом режиме и посмотрите почему это происходит и тип ошибки
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
19.11.2013, 15:55 #9
как то странно вы делаете .. Вам нужно что бы во фрагменте отобразился список? В этом случаи внутри к примеру этого класса FirstFragment() и назначайте его, вы получается сначала делаете слой с ViewPager
Java
1
setContentView(R.layout.main);
а потом переустанавливаете в это же активити новый,
Java
1
setContentView(ls2);
после чего как таймер заканчивает свою работы, вы пытаетесь обратиться к первому, но его уже нет там и подавно
Java
1
_viewPager.setCurrentItem(1);
Делайте следующим образом.
1. Во fragmentactivity делаете viewpager;
2. В дочерних элементах (FirstFragment, SecondFragment, ThirdFragment) в методе onCreateView .. назначаете нужные слои.
0
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 15:55  [ТС] #10
Цитата Сообщение от vxg Посмотреть сообщение
то есть список корректно отображается, но падает? запустите в пошаговом режиме и посмотрите почему это происходит и тип ошибки
да список загружает но сайдг экрана пропадает. Подскажите как запустить по шагово в андроид студио я только 4й день((
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
19.11.2013, 15:59 #11
Вот рабочий код, тут используется в качестве родительского окна со слайдингом фрагмент, вы просто вместо метода oncreateview переделайте под метод активности oncreate.

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
104
public class Themes extends Fragment {
 
    
    MainPage data;
    static final String TITLES[] = {"Подразделы", "Закрепленные темы", "Темы"};
    Fragment[] fragments = new Fragment[3];
    MyPagerAdapter mAdapter;
    
    ViewPager mViewPager;
    PagerSlidingTabStrip mTitles;
    
    
    public static Themes newInstance(MainPage mp) {
        Themes fragment = new Themes();
        fragment.setParams(mp);
        return fragment;
    }
    
    private void setParams(MainPage mp) {
        this.data = mp;
    }
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        
        View _result = inflater.inflate(R.layout.themes, null);
        
        mTitles = (PagerSlidingTabStrip) _result.findViewById(R.id.titles);
        mViewPager = (ViewPager) _result.findViewById(R.id.pager);
        
        if(mAdapter == null) {
            mAdapter = new MyPagerAdapter(getChildFragmentManager());
        } else {
            mAdapter.notifyDataSetChanged();
        }
 
        mViewPager.setAdapter(mAdapter);
        mTitles.setViewPager(mViewPager);
        
        return _result;
    }
 
    
    
    
    
    
    
    private class MyPagerAdapter extends FragmentPagerAdapter {
 
        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }
 
        @Override
        public Fragment getItem(int position) {
            if(fragments[position] != null) {
                return fragments[position];
            }
            
            
            switch(position) {
            case 0:
                fragments[position] = Sections.newInstance(data);
                break;
            default:
                fragments[position] = new Test();
            }
            
            
            return fragments[position];
        }
 
        @Override
        public int getCount() {
            return TITLES.length;
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return TITLES[position];
        }
        
    }
    
    
    @SuppressLint("ValidFragment")
    private class Test extends Fragment {
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            
            TextView tv = new TextView(getActivity());
            tv.setText("TESSSST");
            
            
            return tv;
        }
        
    }
    
}
1
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 16:52  [ТС] #12
Цитата Сообщение от NiRamz Посмотреть сообщение
как то странно вы делаете .. Вам нужно что бы во фрагменте отобразился список? В этом случаи внутри к примеру этого класса FirstFragment() и назначайте его, вы получается сначала делаете слой с ViewPager
Java
1
setContentView(R.layout.main);
а потом переустанавливаете в это же активити новый,
Java
1
setContentView(ls2);
после чего как таймер заканчивает свою работы, вы пытаетесь обратиться к первому, но его уже нет там и подавно
Java
1
_viewPager.setCurrentItem(1);
Делайте следующим образом.
1. Во fragmentactivity делаете viewpager;
2. В дочерних элементах (FirstFragme
сейчас попробую

Добавлено через 47 минут
Цитата Сообщение от NiRamz Посмотреть сообщение
Вот рабочий код
Ничего не выходит( Загнал весь код который отвечает за парсинг и вывод на экран ListView в ThirdFragment в онкритвью. Теперь всё запускается, в логах вижу что он делает парсинг текста, но сам лист вью не появляется(((

Добавлено через 5 минут
Вот фрагмент:

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
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
 
public class ThirdFragment extends Fragment {
    private static final String TAG = "MyApp";
    Device device;
    ArrayList<Device> m_Devices = new ArrayList<Device>();
    //=================
    private Context context;
    private Context context1;
    private ListView contentView;
 
    /** Handle the results from the voice recognition activity. */
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
 
        super.onActivityCreated(savedInstanceState);
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // задаем разметку фрагменту
        final View view = inflater.inflate(R.layout.third, container, false);
        // ну и контекст, так как фрагменты не содержат собственного
        context = view.getContext();
        // выводим текст который хотим
        //=================
        final ThirdFragment context1 = ThirdFragment.this;
        ListView ls2 = new ListView(this.context1);
        // находим список
        // ListView ls2 = (ListView) findViewById(R.id.lvMain);
        CustomAdapter lvAdapter = new CustomAdapter(this.context1, m_Devices);
        ls2.setAdapter(null);
        //=================
        new MyTask().execute();
        ls2.setAdapter(lvAdapter);
        setContentView(ls2);
        //TextView wordsCount = (TextView) view.findViewById(R.id.textView1);
        //wordsCount.setText("ThirdActivity");
        return view;
    }
 
    private void setContentView(ListView ls2) {
 
    }
 
 
    public class MyTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... stri) {
            // ПАРСИМ
            String Str;
            String url = "http://mysite.com/arr.txt";
            StringBuilder sb = null;
            try {
                URL myurl = new URL(url);
                BufferedReader br = new BufferedReader(new InputStreamReader(myurl.openStream()));
                sb = new StringBuilder(100);
                while ((Str = br.readLine()) !=null) {
                    sb.append(Str+"\n");
                }
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // РАЗБИВАЕМ НА ВХОЖДЕНИЕ
            String input = sb.toString();
            String[] fileData = input.split("\n");
 
            for(int i=0; i<fileData.length; i++)
            {
                String[] fileData2 = fileData[i].split(";");
                int dev;
                dev=Integer.parseInt(fileData2[2]);
                device = new Device(fileData2[0],fileData2[1], dev%2,0, 100 + i);
                m_Devices.add(device);
                Log.d(TAG, "ПЕРВОЕ ВХОЖДЕНИЕ: " + fileData2[0] + " ВТОРОЕ ВХОЖДЕНИЕ: " + fileData2[1] + " ТРЕТЬЕ ВХОЖДЕНИЕ: " + fileData2[2]);
            }
 
            return sb.toString();
        }
    }
 
}
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
19.11.2013, 17:11 #13
в
Java
1
R.layout.third
добавьте
XML
1
<ListView android:id="@+id/listView" ...
и в oncreateView сделайте вместо
Java
1
ListView ls2 = new ListView(this.context1);
это
Java
1
ListView ls2 = (ListView) view.findvViewById(R.id.listView);
Добавлено через 1 минуту
Цитата Сообщение от cezer_ak Посмотреть сообщение
setContentView(ls2);
во фрагменте не надо

как вариант можете просто сделать
Java
1
return ls2;
1
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
19.11.2013, 18:57  [ТС] #14
Цитата Сообщение от NiRamz Посмотреть сообщение
...
Не получилось ни один из двух методов...

если ставлю return ls2;
то программа при старте сразу крешется...
если меняю: ListView ls2 = (ListView) view.findViewById(R.id.listView);
то запускается но не появляется ListView.

меняю и то и другое сразу креш.

Что не так???

Добавлено через 9 минут
Цитата Сообщение от NiRamz Посмотреть сообщение
...
когда делаю так:

Java
1
2
3
4
5
6
7
R.layout.third
<ListView android:id="@+id/listView" ...
 
//ListView ls2 = new ListView(this.context1);
ListView ls2 = (ListView) view.findvViewById(R.id.listView);
 
//setContentView(ls2);
Программа запускается. Но как только перехожу на третью страницу там где по идеи должен быть список то программа вылетает с ошибкой...
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
19.11.2013, 19:40 #15
Прикрепите лог ошибки
1
19.11.2013, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2013, 19:40
Привет! Вот еще темы с ответами:

Как правильно построить адаптер для показа данных из базы в ListView - Программирование Android
Всем привет. На данный момент все данные в программе хранятся в классе, есть адаптер для отображения данных в ListView: ArtsAdapter...

Хочу сделать подписи к меню, меню у меня создано ListView, есть два массива, как их передать в адаптер? - Программирование Android
public class MainMenu extends ListActivity { public void onCreate(Bundle cicle) { super.onCreate(cicle); ...

Кастомный EditText - Программирование Android
Подскажите, каким образом можно реализовать EditText как на скрине, при этом редактирование происходить только правой части знаю что...

Кастомный EditText - Программирование Android
Как можно внутри EditText установить маску для текста звездочку - * сделать отступы внутри EditText между звездочками например 5dp?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.