私はListView
を持っています。各行をクリックすると、新しいIntent
のサービスからダウンロードが開始されます。ダウンロードサービスからListViewの行を更新する方法
クリックした行のprogressBar
は、サービスから取得した情報からどのように更新できますか?
私はListView
を持っています。各行をクリックすると、新しいIntent
のサービスからダウンロードが開始されます。ダウンロードサービスからListViewの行を更新する方法
クリックした行のprogressBar
は、サービスから取得した情報からどのように更新できますか?
ブロードキャストレシーバーを使用して、アクティビティーのプログレスバーに通知します。あなたのケースでは、受信時にブロードキャストが進行状況バーを更新して、アダプタにデータ変更を通知します。サービスで
は
活動中の他の側ではIntent i = new Intent("Updated_Count");
i.putExtra("progress", <progress count>);
i.putExtra("row_index", <row_index>);
sendBroadcast(i);
以下のように放送送るあなたは
ドン」あなたのリストの活動にでサブクラスとしてクラスの上に置くことができます
public class newMessage extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(action.equalsIgnoreCase("Updated_Count")){
Bundle extra = intent.getExtras();
String progress= extra.getString("progress");
String index = extra.getString("row_index");
// now you can play with progress for any particular list row
}
}
それを受け取ります放送受信機の登録/登録解除を忘れた
ハッピーコーディンg!
次の例を参照することができますサービスを通じてあなたが活動へのサービスからブロードキャストレシーバーを使用することができますかfragment.youに登録する必要がとonResume()
上と
onPause()
に未登録の放送や活動にブロードキャストインスタンスを作成し、sendBroadcast
で受信できます。役立つと思われる場合は、他のユーザーにとっても役立つように、これを回答としてマークしてください。 –
私のリストビューの各行には独自のprogressBarがあります。どうすれば正確な行のprogressBarを正確に更新できますか? – DavidOli
あなたがサービス終了時に管理しなければならないことは、インデックスまたはIDを渡すときに複数のダウンロードがあるか、またはサービスから各行のために何かユニークなものを追加することです –
サービスからのブロードキャストを送信し、リストアクティビティ –