Обновляемый домашний экран Listview Android

Я хочу создать обновляемый listview.
Здесь я нашел отличный пример:
https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget

Но ListView там статика. Я хочу иметь возможность обновлять listview, который я использую на главном экране Widget, из приложения mainActivity.

Например:
У меня есть некоторые действия в приложении:
Только с двумя элементами: EditText и Button

И у меня есть homescreen widget для этого приложения с ListView. Я хочу иметь возможность добавлять item к ListView, когда я нажимаю Button в основном приложении.
Возможно ли это?


person Laser    schedule 03.09.2013    source источник


Ответы (1)


Конечно, вы можете поймать намерение в своем виджете, отправленном прослушивателем Button onClick.

Создайте намерение в своем основном приложении:

public void onClick(View v) {
    Intent intent = new Intent(context, YourWidget.class);
    intent.putExtra("data", "some data");
    context.sendBroadcast(intent);
}

поймать намерение в вашем виджете:

public void onReceive(Context context, Intent intent) 
{
    ListView lv = // your list

    // get data from the intent
    String data = intent.getStringExtra("data");

    // PREPARE YOUR view object

    lv.addView(view, position); // <- add to a specific position
    lv.addFooterView(view); //<- add to the bottom of the list

}
person Remarkable    schedule 03.09.2013
comment
Спасибо, но как мне добавить item к listview. И кнопка находится в mainapp, а не в Widget. - person Laser; 03.09.2013
comment
Я добавил некоторые детали к примеру. - person Remarkable; 03.09.2013
comment
ListView lv = // ваш список Вы уверены, что это возможно в homsecreen Widget - person Laser; 03.09.2013
comment
нет, я не уверен. Я предположил, что вы уже разместили его на своем виджете, но не знаете, как им манипулировать. Посмотрите здесь: stackoverflow.com/questions/11039339/ - person Remarkable; 03.09.2013