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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
#1

Получение String из другого класса в Activity widget - Программирование Android

16.08.2016, 10:59. Просмотров 204. Ответов 15

Хей, гайз!
Проблема такова: как передавать String между классами я и так знаю, но в виджет классе AS не дает мне этого сделать)
Помогите, а
Есть пример получения данных:
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
public class ListViewAdapter extends BaseAdapter {
 
    // Declare Variables
    Context context;
    LayoutInflater inflater;
    ArrayList<HashMap<String, String>> data;
    ImageLoader imageLoader;
    HashMap<String, String> resultp = new HashMap<String, String>();
 
    public ListViewAdapter(Context context,
                           ArrayList<HashMap<String, String>> arraylist) {
        this.context = context;
        data = arraylist;
        imageLoader = new ImageLoader(context);
    }
 
    @Override
    public int getCount() {
        return data.size();
    }
 
    @Override
    public Object getItem(int position) {
        return null;
    }
 
    @Override
    public long getItemId(int position) {
        return 0;
    }
 
    public View getView(final int position, View convertView, ViewGroup parent) {
        // Declare Variables
        TextView text;
        TextView country;
        TextView population;
        ImageView flag;
 
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
        View itemView = inflater.inflate(R.layout.listview, parent, false);
        // Get the position
        resultp = data.get(position);
 
        // Locate the TextViews in listview_item.xml
        text = (TextView) itemView.findViewById(R.id.title);
        //country = (TextView) itemView.findViewById(R.id.country);
        // population = (TextView) itemView.findViewById(R.id.population);
 
        // Locate the ImageView in listview_item.xml
 
        flag = (ImageView) itemView.findViewById(R.id.flag);
 
        // Capture position and set results to the TextViews
        text.setText(Html.fromHtml(resultp.get(TwoActivityJSON.TITLE)));
        //country.setText(resultp.get(TwoActivityJSON.COUNTRY));
        // population.setText(resultp.get(TwoActivityJSON.POPULATION));
        // Capture position and set results to the ImageView
        // Passes flag images URL into ImageLoader.class
        imageLoader.DisplayImage(resultp.get(TwoActivityJSON.FILENAME), flag);
        // Capture ListView item click
        itemView.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
                // Get the position
                resultp = data.get(position);
                Intent intent = new Intent(context, SingleItemView.class);
                Intent intent2 = new Intent(context, widget_activity.class);
                // Pass all data rank
                intent.putExtra("title", resultp.get(TwoActivityJSON.TITLE));
 
                // Pass all data country
                intent.putExtra("text", resultp.get(TwoActivityJSON.TEXT));
                // Pass all data population
                //intent.putExtra("anouns",resultp.get(MainActivity.POPULATION));
                // Pass all data flag
                intent.putExtra("filename", resultp.get(TwoActivityJSON.FILENAME));
                // Start SingleItemView Class
                context.startActivity(intent);
 
 
            }
        });
        return itemView;
    }
}
И есть widgetclass, в котором нужно получить TITLE и FILENAME желательно
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 widget_activity extends AppWidgetProvider {
        final String LOG_TAG = "myLogs";
 
        @Override
        public void onEnabled(Context context) {
                super.onEnabled(context);
                Log.d(LOG_TAG, "onEnabled");
                AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
                Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
                PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
                alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000*60*15, pendingIntent);
 
 
        }
 
        @Override
        public void onUpdate(Context context, AppWidgetManager appWidgetManager,
                             int[] appWidgetIds) {
 
                super.onUpdate(context, appWidgetManager, appWidgetIds);
                Log.d(LOG_TAG, "onUpdate " + Arrays.toString(appWidgetIds));
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd");
                SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("MMMM");
                String strTime1 = simpleDateFormat1.format(new Date());
                String strTime = simpleDateFormat.format(new Date());
                RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
                views.setTextViewText(R.id.textView, strTime);
                views.setTextViewText(R.id.textView1, strTime1);
 
 
                appWidgetManager.updateAppWidget(appWidgetIds, views);
        }
 
        @Override
        public void onDeleted(Context context, int[] appWidgetIds) {
                super.onDeleted(context, appWidgetIds);
                Log.d(LOG_TAG, "onDeleted " + Arrays.toString(appWidgetIds));
        }
 
        @Override
        public void onDisabled(Context context) {
                super.onDisabled(context);
                Log.d(LOG_TAG, "onDisabled");
                AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
                Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
                PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
                alarmManager.cancel(pendingIntent);
        }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2016, 10:59     Получение String из другого класса в Activity widget
Посмотрите здесь:

Функция activity из другого класса - Программирование Android
Есть главная activity и создаю класс для отрисовки графики: Activity: public class General extends Activity { @Override ...

Доступ к элементам Activity из другого класса - Программирование Android
Есть Activity, в её классе создаю экземпляр другого класса twoclass tw = new twoclass(); tw.start(MainActivity.this); и запускаю ...

Как передать данные в Activity из другого класса - Программирование Android
При нажатии на кнопку, создается активити orgAdapter = new OrgAdapter(this, orgs); GridView gridView = (GridView)...

Widget + activity - Программирование Android
Добрый день!!! Создаю простенький виджет-диктофон и кнопка для открытия активити с настройками. При нажатии на кнопку &quot;rec&quot; в каталоге...

Получение данных из другого класса - Программирование Android
Подскажите как решить проблему. У меня есть два класса разнесенных по разным файлам: ListFragment и DialogFragment. Cуть...

Доступ к БД из другого Activity. - Программирование Android
Очередной нубский вопрос. В главном активити есть dbHelper. Все хорошо. Хочу в одном активити показать результат запроса в виде...

Запуск Activity из другого apk - Программирование Android
Здравствуйте! Попытаюсь максимально собрать мысли в кучу и описать, то что мне надо. Есть скомпилированный apk файл без исходного кода,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
16.08.2016, 11:06     Получение String из другого класса в Activity widget #2
quadenes, используй SharedPreferences.
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 11:15  [ТС]     Получение String из другого класса в Activity widget #3
Mikalai, там производится работа с постоянно меняющимся текстом. Кэш приложения не будет забиваться?
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 11:23     Получение String из другого класса в Activity widget #4
используй https://github.com/greenrobot/EventBus
ваш кэп
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 11:25  [ТС]     Получение String из другого класса в Activity widget #5
Паблито, ого, спасибо)
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 11:26     Получение String из другого класса в Activity widget #6
вот просто так, без проверки, как это работает, работает ли вообще?
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 11:29  [ТС]     Получение String из другого класса в Activity widget #7
Паблито, а блин...
Прочитал, не прокатит.

Prepare subscribers: Register your subscriber (in your onCreate or in a constructor):
eventBus.register(this);

В activity_widget нет OnCreate
Но все равно попробую
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 11:30     Получение String из другого класса в Activity widget #8
эта строчка может быть где угодно, главное что бы она выполнилась
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 313
16.08.2016, 12:22     Получение String из другого класса в Activity widget #9
Чисто из любопытства - а это вообще нормально в адаптере к каждому view присобачивать OnClickListener?
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 12:26  [ТС]     Получение String из другого класса в Activity widget #10
fraley, да.
Там при нажатии появляется подробный текст
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 12:31     Получение String из другого класса в Activity widget #11
почему не один слушатель на всех?
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 12:34  [ТС]     Получение String из другого класса в Activity widget #12
Паблито, скажи про какой кусок кода? А то не могу понять
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 12:55     Получение String из другого класса в Activity widget #13
из кода в первом сообщении, строка 63 и дальше
для каждого итема в ListView создается свой слушатель
500 итемов - 500 слушателей, жирновато и не по феншую
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 313
16.08.2016, 13:05     Получение String из другого класса в Activity widget #14
Цитата Сообщение от quadenes Посмотреть сообщение
fraley, да.
Там при нажатии появляется подробный текст
listview onitemclicklistener?
quadenes
2 / 2 / 1
Регистрация: 14.07.2015
Сообщений: 50
16.08.2016, 14:06  [ТС]     Получение String из другого класса в Activity widget #15
Паблито, ааа
Ну по факту у меня там 20 итемов.
А есть вариант оптимизировать?

Добавлено через 29 секунд
fraley, ага
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2016, 14:18     Получение String из другого класса в Activity widget
Еще ссылки по теме:

Вызов метода из другого Activity - Программирование Android
Здраствуйте. Помогите,пожалуйста, разобраться с несколькими вопросами: 1) Правильно ли, что &quot;Настройки&quot; я выделил в отдельный Activity ...

Получить Activity другого приложения - Программирование Android
Подскажите пожалуйста, могу ли я из своего приложения получить Activity другого? Или же как можно из своего приложения запустить Activity...

Передать текст из EditText на Activity другого приложения - Программирование Android
В книге приводится пример простого мессенджера. Есть кнопка &quot;Send Message&quot; и EditText, куда сообщение вводится. По нажатию кнопки...

Восстановление позиции ListView по возвращении из другого Activity - Программирование Android
Доброго времени суток. Имеется activity с ListView, заполняемого из базы данных. При нажатии элемента идёт переход на новое активити с...

Подскажите как запустить через Inten Activity другого приложения - Программирование Android
Добрый день! весь смысл такой я могу просто запустить другое приложение, например как сейчас: Intent intent =...


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

Или воспользуйтесь поиском по форуму:
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.08.2016, 14:18     Получение String из другого класса в Activity widget #16
я уже давно не пользовался листвью, но у него как минимум есть
listView.setOnItemClickListener();
куда можно передать слушатель
Yandex
Объявления
16.08.2016, 14:18     Получение String из другого класса в Activity widget
Ответ Создать тему
Опции темы

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