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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Ahdir
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
06.03.2013, 19:50     Передача данных между Activity1 3 #1
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);
  }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
06.03.2013, 19:56     Передача данных между Activity1 3 #2
вы используете всё правильно.
но проблема в следующем:
вы стартуете активити MainMenu используя переменную intent
startActivity(intent);а данные засовываете в переменную
intbasket
причём у вас закоментировано
//startActivity(intbasket);
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
91 / 91 / 5
Регистрация: 04.03.2013
Сообщений: 295
06.03.2013, 20:26     Передача данных между Activity1 3 #3
И желательно использовать для ключей формат имя пакета + ключ

Java
1
public final static String EXTRA_MESSAGE = "com.example.ssd9.USER";
http://developer.android.com/trainin...-activity.html
Ahdir
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
06.03.2013, 21:03  [ТС]     Передача данных между Activity1 3 #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
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
91 / 91 / 5
Регистрация: 04.03.2013
Сообщений: 295
07.03.2013, 00:59     Передача данных между Activity1 3 #5
Java
1
2
startActivity(intbasket);
//startActivity(intent);
Может ты в манифест не прописал вторую свою активити?
Ahdir
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
07.03.2013, 15:04  [ТС]     Передача данных между Activity1 3 #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;
            }
         }   
}
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
91 / 91 / 5
Регистрация: 04.03.2013
Сообщений: 295
07.03.2013, 16:46     Передача данных между Activity1 3 #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>
Ahdir
-21 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 4
08.03.2013, 00:11  [ТС]     Передача данных между Activity1 3 #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...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2013, 14:48     Передача данных между Activity1 3
Еще ссылки по теме:

Android Передача данных между тремя Activity
Передача данных между ListView Android
Передача данных между Activity Android
Передача данных между устройствами Android
Android Передача данных между потоками

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

Или воспользуйтесь поиском по форуму:
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
91 / 91 / 5
Регистрация: 04.03.2013
Сообщений: 295
08.03.2013, 14:48     Передача данных между Activity1 3 #9
Мдя ... тяжелый случай ...
MainMenu.java у тебя не передает экстра данные в MainBasket.java вот у тебя и NULL NULL NULL

Java
1
2
Intent basket = new Intent(this, MainBasket.class);
startActivity(basket);
Короче я пасс RTFM
Yandex
Объявления
08.03.2013, 14:48     Передача данных между Activity1 3
Ответ Создать тему
Опции темы

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