Урок 28. Extras - передаем данные с помощью Intent
Re: Урок 28. Extras - передаем данные с помощью Intent
ПОсмотрела ссылку. Ты прости, но еще уточню - мотай вначале лог в самый конец (как только произошла ошибка!) и ищи те красные строчки, которые относятся к ошибке, а ты все целиком скопировал - этого не нужно! Вообще это не так уж и сложно, многие тут вполне осволись со вставкой лога очень быстро.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 28. Extras - передаем данные с помощью Intent
хотела с твоего лога сюда скопировать твою ошибку, но что-то операция копирования-вставки там не работает, Так что сорри. ТАм у тебя несоответствие текствью (в xml) и едиттекст (в тексте), исправляй.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 28. Extras - передаем данные с помощью Intent
Спасибо милая с меня шоколадка! разобрался в чем проблема. TextView была обозвана как EditTextFoenix писал(а):хотела с твоего лога сюда скопировать твою ошибку, но что-то операция копирования-вставки там не работает, Так что сорри. ТАм у тебя несоответствие текствью (в xml) и едиттекст (в тексте), исправляй.
Re: Урок 28. Extras - передаем данные с помощью Intent
Мне очень приятно, даже больше, чем шоколадка!Nik писал(а):Спасибо милая с меня шоколадка! разобрался в чем проблема. TextView была обозвана как EditTextFoenix писал(а):хотела с твоего лога сюда скопировать твою ошибку, но что-то операция копирования-вставки там не работает, Так что сорри. ТАм у тебя несоответствие текствью (в xml) и едиттекст (в тексте), исправляй.
А то вон помочь стараешься, кто-то еще и нагрубит в ответ.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 28. Extras - передаем данные с помощью Intent
Добрый день.
Подскажите, пожалуйста.
Как мне передать коллекцию ("List") с помощью intent?
В jave у меня получается.
..............................................
import java.util.ArrayList;
public class A {
ArrayList<B> b = new ArrayList<B>();
A(){
b.add(new B());
}
}
public class B {
int i;
int u;
B(){
i=2;
u=4;
}
public String toString(){
return String.format(" " + i+ " , " +u+ " " );
}
}
public class C extends A {
C(){
for(B e:b){
System.out.println(e);
}
}
}
public class Main {
public static void main(String[] args) {
new A(); new C();
}
}
.................................................................................
Взял простой пример....
В Android тоже выводится в Log.d(.....) (если в одном классе), а вот через intent - второй класс не видит коллекцию..
Как мне передать всю коллекцию во второй класс. и там уже работать с ней?
Спасибо...
Подскажите, пожалуйста.
Как мне передать коллекцию ("List") с помощью intent?
В jave у меня получается.
..............................................
import java.util.ArrayList;
public class A {
ArrayList<B> b = new ArrayList<B>();
A(){
b.add(new B());
}
}
public class B {
int i;
int u;
B(){
i=2;
u=4;
}
public String toString(){
return String.format(" " + i+ " , " +u+ " " );
}
}
public class C extends A {
C(){
for(B e:b){
System.out.println(e);
}
}
}
public class Main {
public static void main(String[] args) {
new A(); new C();
}
}
.................................................................................
Взял простой пример....
В Android тоже выводится в Log.d(.....) (если в одном классе), а вот через intent - второй класс не видит коллекцию..
Как мне передать всю коллекцию во второй класс. и там уже работать с ней?
Спасибо...
Re: Урок 28. Extras - передаем данные с помощью Intent
Через Intent Extras (ровно как и через Bundle) можно передавать объекты простых типов JAVA а также сериализуемые объекты.
ArrayList тоже можно передавать, но только если он строкового типа ArrayList<String>
Для сериализации в Андроид лучше всего применять интерфейс Parcelable (см. уроки 68 и 69)
ArrayList тоже можно передавать, но только если он строкового типа ArrayList<String>
Для сериализации в Андроид лучше всего применять интерфейс Parcelable (см. уроки 68 и 69)
Re: Урок 28. Extras - передаем данные с помощью Intent
А как можно передать через Intent группу данных различного типа : int , double и string. Их можно завернуть в class,
class Test
{
int i;
double d;
String s;
}
но как тогда передать class?
class Test
{
int i;
double d;
String s;
}
но как тогда передать class?
Re: Урок 28. Extras - передаем данные с помощью Intent
http://startandroid.ru/ru/uroki/vse-uro ... ntent.htmlfermopili писал(а):А как можно передать через Intent группу данных различного типа : int , double и string. Их можно завернуть в class,
class Test
{
int i;
double d;
String s;
}
но как тогда передать class?
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте Телепрограмма
Телепрограмма в твоем смарте Телепрограмма
-
- Сообщения: 2
- Зарегистрирован: 22 май 2014, 15:12
Re: Урок 28. Extras - передаем данные с помощью Intent
Посдкажите как мне передать массив стрингов из главной активити в другую активити, но без запуска второй, что бы данные были в интенте или бундле, и когда юзер жмакнет на таб этой активити то они будут использоваться.
Re: Урок 28. Extras - передаем данные с помощью Intent
без запуска второй активити? попробуй объявить массив как статик или используй parcelable или может через фрагментVovanVovani4 писал(а):Посдкажите как мне передать массив стрингов из главной активити в другую активити, но без запуска второй, что бы данные были в интенте или бундле, и когда юзер жмакнет на таб этой активити то они будут использоваться.
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте Телепрограмма
Телепрограмма в твоем смарте Телепрограмма
-
- Сообщения: 2
- Зарегистрирован: 22 май 2014, 15:12
Re: Урок 28. Extras - передаем данные с помощью Intent
У меня в прилож. главная активити состоит из табов, а табы из активити. При создании главной активи я парсю файл и данные из него хочу передать в дочерние активити(табы), но только когда таб с дочерней активити будет выбран.Leeroy писал(а): без запуска второй активити? попробуй объявить массив как статик или используй parcelable или может через фрагмент
1)
В главной активити вот такой код был:
Код: Выделить всё
Intent intent = new Intent(this, TotalActivity.class);
Bundle bundle = new Bundle();
bundle.putStringArray("RATE", array);
intent.putExtras(bundle);
Код: Выделить всё
Bundle bundle = getIntent().getExtras();
int i=0;
while(i<6){
valute[i]=bundle.getStringArray("RATE")[i];
i++;
}
Я еще нашел в инетах вот такое вот, для главной:
Код: Выделить всё
Intent intent = new Intent();
Bundle bundle = intent.getExtras();
bundle.putStringArray("RATE", array);
Код: Выделить всё
Bundle bundle = getIntent().getExtras();
int i=0;
while(i<6){
array[i]=bundle.getStringArray("RATE")[i];
i++;
}
Re: Урок 28. Extras - передаем данные с помощью Intent
Самое время отказаться от активити в табах и перейти на фрагменты.
Re: Урок 28. Extras - передаем данные с помощью Intent
Доброго времени суток! Подскажите пожалуйста, как передать во вторую активность двумерный массив?
int[][] deep = new int[lmax][amax];
Если можно, пример передачи и приема. Заранее спасибо.
int[][] deep = new int[lmax][amax];
Если можно, пример передачи и приема. Заранее спасибо.
Re: Урок 28. Extras - передаем данные с помощью Intent
У меня есть только один вариант - Передавать каждый столбец отдельно, с помощью метода getIntArrayExtra собирать их в другой активити. Другими словами - свой двумерный массив, в цикле, разделяешь на подмассивы, соответственно каждый из них добавляешь методом putExtra класса Intent. И уже в другой активити, собираешь их в двумерный массив. Как-то так )IceBlast писал(а):Доброго времени суток! Подскажите пожалуйста, как передать во вторую активность двумерный массив?
int[][] deep = new int[lmax][amax];
Если можно, пример передачи и приема. Заранее спасибо.
Re: Урок 28. Extras - передаем данные с помощью Intent
Don77, спасибо за идею, буду пробовать. Хотя как-то громоздко, но других вариантов я не знаю. Еще раз спасибо!
Re: Урок 28. Extras - передаем данные с помощью Intent
А почему нельзя обойтись статическими классами для передачи данных между активити?
Вернее полями и методами.
Вернее полями и методами.
Re: Урок 28. Extras - передаем данные с помощью Intent
Здравствуйте.
Есть задача: открывать файл *.html из папки raw в webview по тапу на пункт в listview. Имеется 10 файлов. По неопытности я начал создавать для каждого файла отдельный Activity. В процессе работы понял, что приложение нужно упрощать. Но не могу сообразить как реализовать следующую схему: сделать два Activity (в одном будет listview, в другом webview); при выборе в Activity1 пункта "3" открывается Activity2 с webview, в котором открывается файл 3.html (соответственно любой пункт "х" приводил бы к открытию соответствующего ему файла х.html).
Подскажите пожалуйста, каким образом можно реализовать такую схему.
MainActivity.java
[syntax=java]
package com.example.listweb;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView lvnames;
String[] names;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lvnames = (ListView) findViewById(R.id.lvnames);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.names,
android.R.layout.simple_list_item_1);
lvnames.setAdapter(adapter);
lvnames.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(getBaseContext(), WebViewActivity.class);
i.putExtra("names", position);
startActivity(i);
}
}
);
}
}
[/syntax]
strings.xml
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">listweb</string>
<string name="hello_world">Hello world!</string>
<string-array name="names">
<item>Иван</item>
<item>Марья</item>
<item>Петр</item>
<item>Антон</item>
<item>Даша</item>
<item>Борис</item>
<item>Костя</item>
<item>Игорь</item>
<item>Анна</item>
<item>Денис</item>
<item>Вадим</item>
<item>Ольга</item>
<item>Сергей</item>
</string-array>
</resources>
[/syntax]
WebViewActivity не выкладываю, поскольку там пока ничего нет - не могу сообразить как принять и обработать массив из strings.xml
Есть задача: открывать файл *.html из папки raw в webview по тапу на пункт в listview. Имеется 10 файлов. По неопытности я начал создавать для каждого файла отдельный Activity. В процессе работы понял, что приложение нужно упрощать. Но не могу сообразить как реализовать следующую схему: сделать два Activity (в одном будет listview, в другом webview); при выборе в Activity1 пункта "3" открывается Activity2 с webview, в котором открывается файл 3.html (соответственно любой пункт "х" приводил бы к открытию соответствующего ему файла х.html).
Подскажите пожалуйста, каким образом можно реализовать такую схему.
MainActivity.java
[syntax=java]
package com.example.listweb;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView lvnames;
String[] names;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lvnames = (ListView) findViewById(R.id.lvnames);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.names,
android.R.layout.simple_list_item_1);
lvnames.setAdapter(adapter);
lvnames.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(getBaseContext(), WebViewActivity.class);
i.putExtra("names", position);
startActivity(i);
}
}
);
}
}
[/syntax]
strings.xml
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">listweb</string>
<string name="hello_world">Hello world!</string>
<string-array name="names">
<item>Иван</item>
<item>Марья</item>
<item>Петр</item>
<item>Антон</item>
<item>Даша</item>
<item>Борис</item>
<item>Костя</item>
<item>Игорь</item>
<item>Анна</item>
<item>Денис</item>
<item>Вадим</item>
<item>Ольга</item>
<item>Сергей</item>
</string-array>
</resources>
[/syntax]
WebViewActivity не выкладываю, поскольку там пока ничего нет - не могу сообразить как принять и обработать массив из strings.xml
Re: Урок 28. Extras - передаем данные с помощью Intent
передавай в интенте номер нажатого элемента (position кажется)kotr
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 28. Extras - передаем данные с помощью Intent
Возник вопрос, решил его тут задать.
Вот у Активити ведь конструктор, который можно перегружать - так? Его можно использовать для передачи вообще любых данных. Например, для передачи объектов напрямую без заморочек с Parcelable.
Соответственно, в каких случаях можно так передавать данные, а в каких случах без putExtra не обойтись?
Вот у Активити ведь конструктор, который можно перегружать - так? Его можно использовать для передачи вообще любых данных. Например, для передачи объектов напрямую без заморочек с Parcelable.
Соответственно, в каких случаях можно так передавать данные, а в каких случах без putExtra не обойтись?
Arbeit macht Fry