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

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

Войти
Регистрация
Восстановить пароль
 
Taler
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 2
#1

Как вместо названия Activity подставить элемент ListView? - Android

23.05.2015, 12:39. Просмотров 357. Ответов 2
Метки нет (Все метки)

В приложении 2 Activity - MainActivity и DetailActivity.
При запуске приложения открывается MainActivity, где отображается список из ListView.
При выборе любого элемента ListView открывается DetailActiviry c WebView, где отображается соответствующая вебстраница.
Как сделать так, чтобы в ActionBar вместо названия Activity выводилось название выбранного элемента ListView?

А по-человечески:
На первом экране оглавление книги, кликаем по названию главы и переходим на второй экран, где в заголовке указана выбранная глава.

Подскажите как это реализовать?

Добавлено через 12 часов 9 минут
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
+ import ...
public class MainActivity extends AppCompatActivity {
 
    //Создаю список глав
    
    private String head_array[] = {
            "Введение",
            "1. Глава 1",
            "2. Глава 2",
            "3. Глава 3",
            "4. Глава 4",
    };
// запускаю вторую активность, в которую передаю номер позиции.
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        ListView listView = (ListView) findViewById(R.id.listView);
 
        listView.setAdapter(
                new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, head_array));
        listView.setTextFilterEnabled(true);
 
        //Обрабатываю нажатие на элемент списка ListView:
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, DetailActivity.class);
 
                intent.putExtra("head", position);
 
                startActivity(intent);
            }
        });
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        
        int id = item.getItemId();
 
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
}

На текущий момент просто вывожу название приложения,
а надо выбранный элемент из массива head_array[]

AndroidManifest
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.sypchenko.manual" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".DetailActivity"
 
android:label="@string/title_activity_detail">
        </activity>
 
    </application>
 
</manifest>
Я не занимаюсь программированием профессионально.
Понимаю, что ответ лежит где-то на поверхности.

<activity
android:name=".DetailActivity"

android:label="@string/title_activity_detail">
</activity>

Need help - вопрос в первом посте.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2015, 12:39     Как вместо названия Activity подставить элемент ListView?
Посмотрите здесь:

Вызвать из ListView новое Activity (где задействован SimpleAdapter) Android
Android Fragment вместо Activity
Android Из ListView на новую Activity
Android Как динамически заполнять ListView из другой activity?
Как вызвать Activity не из Activity? Android
Переход на новое activity с элемента listView, заполненного через SimpleCursorAdapter Android
Android При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Android Переход с элемента listView на activity
Передать данные из диалога ListView родительскому Activity Android
Можно ли обработать два ListView в пределах одного activity на android? Android
Android Восстановление позиции ListView по возвращении из другого Activity
Передать данные при клике на listview в другое activity Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
23.05.2015, 12:52     Как вместо названия Activity подставить элемент ListView? #2
Бери из адаптера имя элемента по его позиции (head_array[position]) и передавай в интент, в DetailActivity вызывай .setTitle().
Taler
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 2
23.05.2015, 22:57  [ТС]     Как вместо названия Activity подставить элемент ListView? #3
Rube
Спасибо за столь лаконичный ответ.
Я естественно ожидал увидеть 2 строчки кода ))))
Пришлось самому их "выстрадать".
Тоже люблю когда люди думают, а не получают все готовенькое.
Спасибо, плюсанул.
Yandex
Объявления
23.05.2015, 22:57     Как вместо названия Activity подставить элемент ListView?
Ответ Создать тему
Опции темы

Текущее время: 23:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru