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

Передача данных в putExtra - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не обновляется список после добавления item'a на страницу ViewPager? http://www.cyberforum.ru/android-dev/thread1562577.html
для добавления item в список используется отдельная активити, сама запись добавляется но при закрытии активити в списке не видна. пробовал решить проблему следующим образом: @Override public...
Программирование Android EditText читает цифры наоборот Вписываю цифры, но почему-то EditText читает их наоборот. Я вписывал 523, а оно считало их как 325. Почему такое происходит? Добавил screen и код. Помогите, не знаю в чем в чем проблема :( import... http://www.cyberforum.ru/android-dev/thread1562559.html
Программирование Android Открытие Whatsapp интентом
Добрый день, возможно ли открыть интентом список чатов в Whatsapp из сторонней аппликации? Из примеров в гугле получается открыть список контактов но не список чатов. Вот мой код: Intent...
Массив ссылок на изображения из ресурсов Программирование Android
Подскажите как сформировать массив ссылок на изображения из ресурсов проекта. Необходимо для чтения изображения схем и дальнейшего их вывода в ListView.
Программирование Android Как поставить тему Material? http://www.cyberforum.ru/android-dev/thread1562455.html
Я много раз пытался сделать это разными способами но ничего не получалось... Может вы подскажете?
Программирование Android Как зарабатывать на размещении рекламы в своем приложении Play Market? Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Я ного всего читал в интернете... Итак,чтобы зарабатывать деньги на андроид-приложениях нужно: 1. Зарегеистрироваться как... подробнее

Показать сообщение отдельно
snezhok11
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 27

Передача данных в putExtra - Программирование Android

26.10.2015, 20:47. Просмотров 952. Ответов 0
Метки (Все метки)

Здравствуйте передаю данные в другое активити через putExtra
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public boolean onOptionsItemSelected(MenuItem item) {
        Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
        switch (item.getItemId()) {
            case R.id.aM_Home:
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                intent.putExtra("id", id);
                Log.d(LOG_TAG, String.valueOf(id));
                startActivity(intent);
                return true;
 
            case R.id.aM_Hom:
                intent = new Intent(getApplicationContext(), Main2Activity.class);
                intent.putExtra("id", id);
                Log.d(LOG_TAG, String.valueOf(id));
                startActivity(intent);
                return true;
            //case R.id.action_add:
            //return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
Вдругом активити получаю и вывожу влог
Java
1
2
3
Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
        Log.d(LOG_TAG, String.valueOf(id));
Получаю почемуто во втором активита 0,хотя при нажати в первом активити в логах выводит все правильно
Пробывал так
Java
1
String getData=getIntent().getExtras().getString("id");
Выводит в логи null
Не понимаю в чем проблема,в других местах в приложении так работает,а здесь нет.
Помогите разобраться.
Полное активити отправки данных
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.metanit.eugene.sqldbapp;
 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.ExpandableListView;
import android.widget.SimpleCursorTreeAdapter;
import android.widget.TextView;
 
public class Main28Activity extends ActionBarActivity {
    DatabaseHelper sqlHelper;
    ExpandableListView elvMain;
    DB db;
    SQLiteDatabase mDB;
    final String LOG_TAG = "myLogs";
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main28);
        sqlHelper = new DatabaseHelper(getApplicationContext());
 
 
        // создаем базу данных
        sqlHelper.create_db();
        // подключаемся к БД
        db = new DB(this);
        db.open();
// открываем подключение
        mDB = sqlHelper.getReadableDatabase();
        Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
 
 
 
        Cursor cursor = mDB.rawQuery("select * from " + DatabaseHelper.TABLE5 + " where " +
                DatabaseHelper.COLUMN_PODID + "=?", new String[]{String.valueOf(id)});
 
 
 
 
 
        startManagingCursor(cursor);
        // сопоставление данных и View для групп
        String[] groupFrom = { DB.COMPANY_COLUMN_NAME };
        int[] groupTo = { android.R.id.text1 };
        // сопоставление данных и View для элементов
        String[] childFrom = { DB.PHONE_COLUMN_NAME,DB.PHONE_COLUMN_NAME1 };
        int[] childTo = { R.id.text12,R.id.text1 };
 
 
        // создаем адаптер и настраиваем список
        SimpleCursorTreeAdapter sctAdapter = new MyAdapter(this, cursor,
                android.R.layout.simple_expandable_list_item_1, groupFrom,
                groupTo, R.layout.item3, childFrom,
                childTo);
        elvMain = (ExpandableListView) findViewById(R.id.elvMain);
        elvMain.setAdapter(sctAdapter);
    }
 
    protected void onDestroy() {
        super.onDestroy();
        db.close();
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(final Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);
 
        return true;
 
 
    }
 
    public boolean onOptionsItemSelected(MenuItem item) {
        Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
        switch (item.getItemId()) {
            case R.id.aM_Home:
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                intent.putExtra("id", id);
                Log.d(LOG_TAG, String.valueOf(id));
                startActivity(intent);
                return true;
 
            case R.id.aM_Hom:
                intent = new Intent(getApplicationContext(), Main2Activity.class);
                intent.putExtra("id", id);
                Log.d(LOG_TAG, String.valueOf(id));
                startActivity(intent);
                return true;
            //case R.id.action_add:
            //return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
 
 
 
    class MyAdapter extends SimpleCursorTreeAdapter {
 
        public MyAdapter(Context context, Cursor cursor, int groupLayout,
                         String[] groupFrom, int[] groupTo, int childLayout,
                         String[] childFrom, int[] childTo
 
        ) {
            super(context, cursor, groupLayout, groupFrom, groupTo,
                    childLayout, childFrom, childTo);
        }
 
 
 
 
 
        protected Cursor getChildrenCursor(Cursor groupCursor) {
            // получаем курсор по элементам для конкретной группы
 
 
            int idColumn = groupCursor.getColumnIndex(DB.COMPANY_COLUMN_ID);
 
            return db.getPhoneData(groupCursor.getInt(idColumn));
 
        }
    }
 
 
}
Полное второе ативити получения данных
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
package com.metanit.eugene.sqldbapp;
 
import android.app.ActionBar;
import android.app.DialogFragment;
import android.app.FragmentManager;
import android.content.ContentValues;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
 
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;
import android.widget.ListView;
import android.database.Cursor;
import android.widget.SimpleCursorAdapter;
 
 
 
import java.sql.SQLException;
 
public class MainActivity extends ActionBarActivity implements View.OnClickListener{
    final String LOG_TAG = "myLogs";
    ListView mList;
    TextView header;
    DatabaseHelper sqlHelper;
    Cursor userCursor;
    SimpleCursorAdapter userAdapter;
 
    Button button;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(this);
        header = (TextView)findViewById(R.id.header);
        mList = (ListView)findViewById(R.id.list);
        android.support.v7.app.ActionBar bar = getSupportActionBar();
// активируем иконку как кнопку домой
        bar.setHomeButtonEnabled(true);
        bar.setDisplayHomeAsUpEnabled(true);
        bar.setDisplayShowHomeEnabled(true);
        bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
        bar.setDisplayUseLogoEnabled(true);
        bar.setIcon(R.drawable.ic_launcher);
        bar.setLogo(R.drawable.ic_launcher);
 
 
        sqlHelper = new DatabaseHelper(getApplicationContext());
        // создаем базу данных
        sqlHelper.create_db();
        Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
        Log.d(LOG_TAG, String.valueOf(id));
    }
 
    // обработка нажатия кнопки
    public void onButtonClick(View view) {
        Bundle extras = getIntent().getExtras();
        int id = (int) extras.getLong("id");
 
        SparseBooleanArray sbArray = mList.getCheckedItemPositions();
        for (int i = 0; i < sbArray.size(); i++) {
            int key = sbArray.keyAt(i);
 
            int nameColIndex = userCursor.getColumnIndex(DatabaseHelper.COLUMN_NAME);
            ContentValues cv = new ContentValues();
            cv.put(DatabaseHelper.COLUMN_UPRID, userAdapter.getItemId(key));
            cv.put(DatabaseHelper.COLUMN_NAME, userCursor.getString(nameColIndex));
            cv.put(DatabaseHelper.COLUMN_PODID, String.valueOf(id));
            if (sbArray.get(key))
                Log.d(LOG_TAG,String.valueOf(id));
            Log.d(LOG_TAG, String.valueOf(id));
            // получаем новый курсор с данными
            sqlHelper.database.insert(DatabaseHelper.TABLE5, null, cv);
        }
 
 
 
    }
 
 
 
    @Override
    public void onResume(){
        super.onResume();
        try {
            sqlHelper.open();
            // получаем элемент по id из бд
 
            userCursor = sqlHelper.database.rawQuery("select users. * from users,user_lang where users.lang = user_lang.lang", null);
 
 
            String[] headers = new String[]{DatabaseHelper.COLUMN_NAME, DatabaseHelper.COLUMN_YEAR};
            userAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_multiple_choice,
                    userCursor, headers, new int[]{android.R.id.text1, android.R.id.text2}, 0);
            header.setText("Найдено элементов: " + String.valueOf(userCursor.getCount()));
            mList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
            mList.setAdapter(userAdapter);
 
        }
        catch (SQLException ex){}
    }
 
    @Override
    public void onDestroy(){
        super.onDestroy();
        // Закрываем подключения
        sqlHelper.database.close();
        userCursor.close();
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(final Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);
 
        return true;
        
        
    }
 
    public boolean onOptionsItemSelected(MenuItem item) {
 
        int id = item.getItemId();
        if (id == R.id.aM_Home) {
 
            Intent intent = new Intent(getApplicationContext(), Main2Activity.class);
            startActivity(intent);
            return true;
        }
        if (id == R.id.aM_Hom) {
 
            Intent intent = new Intent(getApplicationContext(), Main3Activity.class);
            startActivity(intent);
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button:
                Intent intent = new Intent(this,Main3Activity.class);
                startActivity(intent);
                break;
            default:
                break;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru