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

Как организовать последовательную передачу данных между тремя активностями? - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Подскажите с работой сервиса в андроид http://www.cyberforum.ru/android-dev/thread923634.html
вообщем вот у меня есть сервис: import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONException; import org.json.JSONObject;
Android Настройка экрана при откладке в BlueStacks Добрый день, тормоза и зависания стандартного эмулятора невыносимы. Решил перейти на BlueStacks по этой статье http://habrahabr.ru/company/infopulse/blog/148512/ в которой указано что можно менять тип экрана под мобильный как здесь https://getsatisfaction.com/bstk/topics/hxg3m5nqqxuls Однако на моем эмуляторе такой выбор просто отсутствует! см. скрин http://www.cyberforum.ru/android-dev/thread923545.html
Извлечение данных c TextView Android
Здравствуйте уважаемые форумчане. Как извлеч значение TextView1? Есть TextView хочу построить процедуру if then else public void onClick(View v) { if (TextView1 == 1) { String encodedHash = Uri.encode("#");
Узнать появился ли scroll в scrollview Android
Всем привет! Кто знает как программно узнать появился ли скролл в scrollview??
Android Вывести в программу дату-время компиляции http://www.cyberforum.ru/android-dev/thread923401.html
Дурная затея, но хочется.... Есть ли возможность либо вставить в константу в момент пер-компииляции, либо получить из каких-нибудь характеристик, уже встроенных в проект через API? На этапе отладки это проще номера версии. А отладочных устройств несколько.
Android Обращение к файлу ресурсов Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его последующего копирования (например на карту памяти). Собственно как скопировать я знаю, а как обратиться это вопрос. подробнее

Показать сообщение отдельно
fundator
Сообщений: n/a

Как организовать последовательную передачу данных между тремя активностями? - Android

15.07.2013, 20:01. Просмотров 590. Ответов 0
Метки (Все метки)

Здравствуйте!
Столкнулся с проблемой.
Есть потребность в справочном приложении, которое будет выглядеть следующим образом:
Из первой активности (ListView) через intent происходит передача картинки во вторую активность в зависимости от выбранного элемента.
Во второй активности необходимо перейти к комментарию в виде текста в третьей активности. Вывод через нажатие иконки в Action Bar.
Подскажите, пожалуйста, как можно реализовать передачу текста в третью активность в строгой зависимости от первого выбора.

Первая активность.

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
public class FirstActivity extends ListActivity {
    /** Called when the activity is first created. */
    public TextView Text;
    public ArrayList<ListData> catalog;
    String[] names;
    String[] descriptionsAlg;
 
    int img = R.drawable.ic_item_alg;
    int[] png = { R.drawable.opisanie, R.drawable.predosterezenie };
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_first);
 
        names = new String[2];
        names[0] = getResources().getString(R.string.str_o);
        names[1] = getResources().getString(R.string.str_p);
 
        descriptionsAlg = new String[2];
        descriptionsAlg[0] = getResources().getString(R.string.txt_o);
        descriptionsAlg[1] = getResources().getString(R.string.txt_p);
 
        // Создаем массив объектов ListData и заполняем их данными
        catalog = new ArrayList<ListData>();
        for (int i = 1; i <= 2; i++) {
            catalog.add(new ListData(names[i - 1], png[i - 1], img,
                    descriptionsAlg[i - 1]));
        }
 
        // Создаем адаптер данных
        CatalogAdapter catAdapter;
        catAdapter = new CatalogAdapter(this, catalog);
        setListAdapter(catAdapter);
    }
 
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Проверяем ориентацию экрана
        if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
 
        } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
 
        }
 
    }
 
    public void onListItemClick(ListView parent, View v, int position, long id) {
        Intent intent = new Intent(this, SecondActivity.class);
 
        intent.putExtra(SecondActivity.PICTURE, png[position]);
 
        intent.putExtra(ThirdActivity.DESCRIPTIONSALG,
                descriptionsAlg[position]);
 
        startActivity(intent);
    }
 
    public TextView getText() {
        return Text;
    }
 
    public void setText(TextView Text) {
        this.Text = Text;
    }
Вторая активность.

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
public class SecondActivity extends Activity implements OnClickListener {
    public static final String PICTURE = "picture";
 
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        // Получаем данные от деятельности FirstActivity
        Intent intent = getIntent();
 
        int imageId = intent.getIntExtra(PICTURE, R.drawable.ic_launcher);
        ImageView image = (ImageView) findViewById(R.id.aboutImage);
        image.setImageDrawable(getResources().getDrawable(imageId));
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_second, menu);
        return true;
    }
 
    public void onClick(View v) {
        finish();
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
 
        case R.id.item_2: {
            Intent intent = new Intent(this, ThirdActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
 
        }
        case R.id.item_1: {
            Intent intent = new Intent(this, FirstActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
        }
        default:
            return super.onOptionsItemSelected(item);
 
        }
    }
Третья активность.

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
public class ThirdActivity extends Activity implements OnClickListener {
 
    public static final String DESCRIPTIONSALG = "descriptionsAlg";
 
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third);
        // Получаем данные от деятельности FirstActivity
 
        Intent intent = getIntent();
 
        int textId = intent.getIntExtra(DESCRIPTIONSALG, R.string.txt_o);
 
        TextView text = (TextView) findViewById(R.id.TextViev);
        text.setText(getResources().getString(textId));
 
    }
 
    public static String getDescriptionsalg() {
        return DESCRIPTIONSALG;
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_third, menu);
        return true;
    }
 
    public void onClick(View v) {
        finish();
    }
 
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Проверяем ориентацию экрана
        if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
 
        } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
 
        }
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.item_1: {
            Intent intent = new Intent(this, FirstActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
        }
        default:
            return super.onOptionsItemSelected(item);
 
        }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru