Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
1

Передача данных между Activity1 3

06.03.2013, 19:50. Показов 2161. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. надо сделать что бы из 1 окна передать данные на 3 окно
2. если честно я не понял как пользоваться INTENT
вот код:
отправить
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
package com.example.ssd9;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
 
public class MainActivity extends Activity implements OnClickListener {
    Button btok;
    Button btcnl;
    EditText name;
    EditText adr;
    EditText phone;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        name=(EditText)findViewById(R.id.name);
        adr= (EditText)findViewById(R.id.adr);
        phone=(EditText)findViewById(R.id.phone);
        
        btok =(Button)findViewById(R.id.btok);
        btok.setOnClickListener(this);
        btcnl =(Button )findViewById(R.id.btcnl);
    
    }
    /* */
     @Override
      public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btok:
        Intent intent = new Intent(this, MainMenu.class); 
        Intent intbasket = new Intent(this, MainBasket.class); 
        intbasket.putExtra("name", name.getText().toString());
        intbasket.putExtra("adr", adr.getText().toString());
        intbasket.putExtra("phone", phone.getText().toString());
        //startActivity(intbasket);
        startActivity(intent); 
     }
     } 
     /*@Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (data == null) {return;}
     }*/
}
принять :
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
package com.example.ssd9;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
 
public class MainBasket extends Activity {
    
  TextView tvView;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.basket);
    
    Intent intbasket = getIntent();
    
    String name = intbasket.getStringExtra("name");
    
    String adr = intbasket.getStringExtra("adr");
    
    String phone = intbasket.getStringExtra("phone");
    
    tvView.setText("Your name is: " + name + " " + adr+ " "+ phone);
  }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2013, 19:50
Ответы с готовыми решениями:

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

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

Передача данных между устройствами
Всем привет! Подскажите, пожалуйста, как передать значение переменной на другое устройство. Думал...

Передача данных между классами
Добрый день господа. Пишу свое первое приложение на андроид, и столкнулся с вот такой проблемой....

8
146 / 129 / 6
Регистрация: 29.07.2008
Сообщений: 506
06.03.2013, 19:56 2
вы используете всё правильно.
но проблема в следующем:
вы стартуете активити MainMenu используя переменную intent
startActivity(intent);а данные засовываете в переменную
intbasket
причём у вас закоментировано
//startActivity(intbasket);
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
06.03.2013, 20:26 3
И желательно использовать для ключей формат имя пакета + ключ

Java
1
public final static String EXTRA_MESSAGE = "com.example.ssd9.USER";
http://developer.android.com/t... ivity.html
0
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
06.03.2013, 21:03  [ТС] 4
Цитата Сообщение от YAUHEN Посмотреть сообщение
вы используете всё правильно.
но проблема в следующем:
вы стартуете активити MainMenu используя переменную intent
startActivity(intent);а данные засовываете в переменную
intbasket
причём у вас закоментировано
//startActivity(intbasket);
prost 9 ewe tol'ko na4inauwi osobo ne ponimau mojete ukazat' 4to nado men9t' v kode
prost kogda 9 najimau na knoku OK u men9 otkryvaets9 newActivity, i danye kotorye byli v main Activity doljny peredat' dannye v Main Basket nadeus' vy men9 poneli
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
07.03.2013, 00:59 5
Java
1
2
startActivity(intbasket);
//startActivity(intent);
Может ты в манифест не прописал вторую свою активити?
0
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
07.03.2013, 15:04  [ТС] 6
Цитата Сообщение от c4sp3r Посмотреть сообщение
Java
1
2
startActivity(intbasket);
//startActivity(intent);
Может ты в манифест не прописал вторую свою активити?
davai 9 ves' kod pokaju
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
package com.example.ssd9;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
 
public class MainActivity extends Activity implements OnClickListener {
    Button btok;
    Button btcnl;
    EditText name;
    EditText adr;
    EditText phone;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        name=(EditText)findViewById(R.id.name);
        adr= (EditText)findViewById(R.id.adr);
        phone=(EditText)findViewById(R.id.phone);
        
        btok =(Button)findViewById(R.id.btok);
        btok.setOnClickListener(this);
        btcnl =(Button )findViewById(R.id.btcnl);
    
    }
    
     @Override
      public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btok:
        Intent intent = new Intent(this, MainMenu.class); 
        Intent intbasket = new Intent(this, MainBasket.class); 
        intbasket.putExtra("name", name.getText().toString());
        intbasket.putExtra("adr", adr.getText().toString());
        intbasket.putExtra("phone", phone.getText().toString());
                startActivity(intbasket);
        startActivity(intent); 
        break;
        default:
            break;
        }
     
     } 
     /*@Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (data == null) {return;}
     }*/
}
2.
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
package com.example.ssd9;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
 
public class MainBasket extends Activity {
    
  TextView tvView;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.basket);
    tvView= (TextView) findViewById(R.id.tvView);
    
    Intent intbasket = getIntent();
    String name = intbasket.getStringExtra("name");
    String adr = intbasket.getStringExtra("adr");
    String phone = intbasket.getStringExtra("phone");
    
    tvView.setText("Your name is: " + name + " " + adr+ " "+ phone);
  }
}
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
package com.example.ssd9;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainMenu extends  Activity implements OnClickListener{
    Button btbasket;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);
        btbasket = (Button) findViewById(R.id.btbasket);
        btbasket.setOnClickListener(this);
    }
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.btbasket:
            Intent basket = new Intent(this, MainBasket.class);
            startActivity(basket); 
        break;
            default:
                break;
            }
         }   
}
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
07.03.2013, 16:46 7


MainActivity.java
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
package com.example.ssd9;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
 
public class MainActivity extends Activity {
 
    EditText name, adr, phone;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        name =(EditText) findViewById(R.id.name);
        adr = (EditText) findViewById(R.id.adr);
        phone =(EditText) findViewById(R.id.phone);
        
       
    }
    
    public void onClick(View view) {
        switch (view.getId()) {
        case R.id.button1:
            Intent intBasket = new Intent(this, MainBasket.class);
            intBasket.putExtra("name", name.getText().toString());
            intBasket.putExtra("adr", adr.getText().toString());
            intBasket.putExtra("phone", phone.getText().toString());
            startActivity(intBasket); // <<<<<<<<<<<<<<<<<<<<<<<<
            break;
        }
    }
 
    @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, menu);
        return true;
    }
 
}
MainBasket.java
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
package com.example.ssd9;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
 
public class MainBasket extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_basket);
        TextView tv = (TextView) findViewById(R.id.textView);
        
        Intent i = getIntent();
        String name = i.getExtras().getString("name");
        String adr = i.getExtras().getString("adr");
        String phone = i.getExtras().getString("phone");
        
        tv.setText("Your name is: " + name + " " + adr+ " "+ phone);
    }
 
    @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_basket, menu);
        return true;
    }
 
}
activity_main.xml
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
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <EditText
        android:id="@+id/name"
        android:hint="@string/some_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="33dp"
        android:ems="10" >
 
        <requestFocus />
    </EditText>
 
    <EditText
        android:id="@+id/adr"
        android:hint="@string/some_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/name"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:ems="10" />
 
    <EditText
        android:id="@+id/phone"
        android:hint="@string/some_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/adr"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="32dp"
        android:ems="10" />
    <!-- >>>>>>>>>>> android:onClick <<<<<<<<<<<< -->
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/phone"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="42dp"
        android:onClick="onClick"
        android:text="@string/click_me" />
     <!-- >>>>>>>>>>> android:onClick <<<<<<<<<<<< -->
 
</RelativeLayout>
strings.xml
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="app_name">ssd9</string>
    <string name="action_settings">Settings</string>
    <string name="some_txt">some text bla bla bla</string>
    <string name="click_me">CLICK ME</string>
    <string name="title_activity_main_basket">MainBasket</string>
 
</resources>
AndroidManifest.xml
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
28
29
30
31
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.ssd9"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.ssd9.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="com.example.ssd9.MainBasket"
            android:label="@string/title_activity_main_basket" >
        </activity>
    </application>
 
</manifest>
activity_main_basket.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainBasket" >
 
    <TextView
        android:id="@+id/textView"
        android:textIsSelectable="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
 
</RelativeLayout>
0
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
08.03.2013, 00:11  [ТС] 8
1. U men9 Button tbok delaet dve funkcii 1 on otkryvaet MainMenu.class 2 i peredaet dannye v MainBasket.class
problema v tom 4to kogda zapolnau pol9 NAME, ADREESS,TEL i 9 najimau OK v MainActivity.class on popodaet v MAINMENU.class i v tomje MAINMENU.class est' button basket kogda 9 najimau na nego on vyvodit NULL NULL NULL
Nadeus' ty men9 ponel...
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
08.03.2013, 14:48 9
Мдя ... тяжелый случай ...
MainMenu.java у тебя не передает экстра данные в MainBasket.java вот у тебя и NULL NULL NULL

Java
1
2
Intent basket = new Intent(this, MainBasket.class);
startActivity(basket);
Короче я пасс RTFM
2
08.03.2013, 14:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2013, 14:48
Помогаю со студенческими работами здесь

Передача данных между Activity
Доброго времени суток, господа. Такой вопрос: с точки зрения ООП програмирования и...

Передача данных между ListView
Доброго времени суток форумчане! Не получается решить одну проблему, надеюсь на вашу помощь. В...

Передача данных между Активити
Все никак не могу разобраться, как передавать данные между активити? я до этого пользовался...

Передача данных между активностями
к примеру есть 2 активности первая public class first_act extends Activity { @Override ...


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

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