Sure, you can catch an intent in your widget sent from the Button onClick listener.
Create an intent in your main app:
public void onClick(View v) {
Intent intent = new Intent(context, YourWidget.class);
intent.putExtra("data", "some data");
context.sendBroadcast(intent);
}
catch the intent in your widget:
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
}