0 / 0 / 0
Регистрация: 27.04.2014
Сообщений: 44
1

ListView и Одиночка, не могу вывести правильно данные

03.10.2020, 14:52. Показов 428. Ответов 3

Author24 — интернет-сервис помощи студентам
Добрый день, помогите пжл. Кторый день пытаюсь решить проблему вывода данных. Программа должна выводить список на экран (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
public class MainActivity extends AppCompatActivity {
 
    private ListView mPresidents_ListView;
    private Presidents presidents = Presidents.getInstance();
    private TextView itemText;
 
    private static final String TAG = "Clicked";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        itemText = (TextView) findViewById(R.id.textView);
        mPresidents_ListView = (ListView) findViewById(R.id.presidents_recycleview);
        itemText = findViewById(R.id.textView);
 
        mPresidents_ListView.setAdapter(new ArrayAdapter<President>(
                this,  android.R.layout.simple_list_item_1, //XML item layout
                presidents.getPresidents()) //array of data
        );
 
 
        mPresidents_ListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Log.d(TAG, "onItemClick(" + i + ")");
                Intent nextActivity = new Intent(MainActivity.this,  DisplayMessageActivity.class);
                //nextActivity.putExtra(Intent.EXTRA_TEXT, i);
                startActivity(nextActivity);
            }
        });
 
        presidents.getPresidents().add(new President("Джордж Вашингтон", 1789, 1797, "Первый президент"));
        presidents.getPresidents().add(new President("Джон Адамс", 1797, 1801, "Второй президент"));
        presidents.getPresidents().add(new President("Томас Джефферсон", 1801, 1809, "Третий президент"));
        presidents.getPresidents().add(new President("Джеймс Мэдисон", 1809, 1817, "Четвертый президент"));
        presidents.getPresidents().add(new President("Джеймс Монро", 1817, 1825, "Пятый Президент"));
 
    }
 
}
Одиночка

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Presidents {
    private List<President> pres_array;
    private static final Presidents presidents = new Presidents();
 
    public static Presidents getInstance(){
        return presidents;
    }
    private Presidents(){
        pres_array = new ArrayList<>();
    }
    public  List<President> getPresidents(){
        return pres_array;
    }
}
Конструктор

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
public class President implements Serializable {
 
    private static final President ourInstance = new President();
    private String name;
    private int startYear;
    private int lastYear;
    private String title;
 
    public static President getInstance() {
        return ourInstance;
    }
 
    public President(String name, int startYear, int lastYear, String title) {
        this.name = name;
        this.startYear = startYear;
        this.lastYear = lastYear;
        this.title = title;
    }
 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
 
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
 
    public int getStartYear() {
        return startYear;
    }
    public void setStartYear(int startYear) {
        this.startYear = startYear;
    }
 
    public int getLastYear() {
        return lastYear;
    }
    public void setLastYear(int lastYear) {
        this.lastYear = lastYear;
    }
 
}
Миниатюры
ListView и Одиночка, не могу вывести правильно данные   ListView и Одиночка, не могу вывести правильно данные  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2020, 14:52
Ответы с готовыми решениями:

Не могу правильно очистить listview
Здравствуйте. У меня на форме есть ComboBox и один Listview. После того как я что-то выберу в...

Вывести данные в ListView
Доброго времени суток! подскажите пожалуйста как вывести содержимое файла csv в listView вроде всё...

Вывести данные из treeView в listView
Всем привет=)Надеюсь на вашу помощь=) Есть treeView &quot;Области&quot;, введены вручную 24 Областей, в...

[WPF] Вывести данные из БД в ListView
Уважаемые форумчане. Будте столь любезны обьяснить мне как пользоваться привязкой в WPF VB.Net. Мне...

3
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
03.10.2020, 17:09 2
Ну так может надо передавать список стрингов (name или title), а не объекты. Или делать кастомный адаптер. Ну и переопределять метод toString() не мешало бы.
1
0 / 0 / 0
Регистрация: 27.04.2014
Сообщений: 44
04.10.2020, 11:31  [ТС] 3
Вот кастовый адаптер... но так и не заработало. Можешь кодом подсказать? Много классов и я уже не понимаю что куда передаваться должно....

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
public class PresidentListAdapter extends ArrayAdapter<President> {
 
    private static final String TAG = "PresidentListAdapter";
 
    private Context mContext;
    private int mResource;
 
    public PresidentListAdapter(Context context, int resource, ArrayList<President> objects){
        super(context, resource, objects);
        mContext = context;
        mResource = resource;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        //get the persons information
        String name = getItem(position).getName();
        int startYear = getItem(position).getStartYear();
        int lastYear = getItem(position).getLastYear();
        String title = getItem(position).getTitle();
 
        //Create the person object with the information
        President president = new President(name,lastYear,startYear,title);
 
        LayoutInflater inflater = LayoutInflater.from(mContext);
        convertView = inflater.inflate(mResource, parent, false);
 
        TextView tvName = (TextView) convertView.findViewById(R.id.name);
        TextView tvStartYear = (TextView) convertView.findViewById(R.id.startYear);
        TextView tvLastYear = (TextView) convertView.findViewById(R.id.lastYear);
        TextView tvTitle = (TextView) convertView.findViewById(R.id.title);
 
        tvName.setText(name);
        tvStartYear.setText(startYear);
        tvLastYear.setText(lastYear);
        tvTitle.setText(title);
 
        return convertView;
 
    }
}
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
04.10.2020, 22:47 4
https://stackoverflow.com/ques... ew-example
0
04.10.2020, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2020, 22:47
Помогаю со студенческими работами здесь

Не могу вывести коллекцию в ListView
Здравствуйте! Изучаю паттерн MVVM, решил сделать программу отображающую библиотеку. Книги хранятся...

Как вывести данные в ListView (XE8)?
Как вывести данные в listview? Обращаюсь через JSon к серверу и хочу получить данные от него.

вывести данные, полученные от клиента, в ListView
Здравствуйте уважаемые программисты у меня возникла проблема нужно написать программу сервер и...

Вывести данные в виде таблицы в ListView
Суть проблемы. Мне нужно вывести данные в виде таблицы в ListViev....

Как вывести данные в label, listview
Хочу вывести из базы данных в label и в listview. Не понимаю как сделать так, чтобы при загрузке...

Virtual listview не могу вывести item
Приветствую! virtual listview не могу вывести item. Вроде все по примерам и subItems...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru