2010-11-30 2 views
0

Я использую службы и широковещательный приемник, чтобы запустить просмотр списка, Я использую только два класса активности, начиная с первого класса, начинает с него работать. В сервисах m hiting webservice и данных синтаксического анализа, n передача данных в широковещательный приемник, теперь данные m, входящие в onreceive, и хранение этих данных в другие данные ... теперь я хочу, чтобы эти данные получили доступ к моему классу активности, который я использую для listView ... скажите, как я могу это сделать .. без принятия этого var. статический .....Как я могу обновить активность (ListView) - android

Я также пробовал эту штуку по-другому, если это возможно так же ... там первый экран запускается там, я держал одну кнопку, когда я нажимаю кнопку на кнопке начнется n будет делать всю работу, как я написал выше ....., но здесь, когда я нажимаю кнопку, запускается еще одна аквизия, которая является этим списком, но это не расширение listActivity, которое увеличивает активность .... , поэтому я хочу обновить этот вид списка динамически, как я могу это сделать ... пожалуйста, любая помощь Appriciable ...

мой код здесь, где м застрять

public class MessageList extends Activity { 
public static final String TAG = MessageList.class.getSimpleName(); 


Context mContext; 
public static ArrayList<String> mData; 

public ListView mListView; 
private List<Message> messages; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.maina); 
    System.out.println("check bro"+mData); 

    System.out.println("In OnCreate of Messagelist class"); 

    System.out.println("1st"); 


    System.out.println("3rd"); 
    mListView = (ListView) findViewById(R.id.mylist); 
    PlaceAdapter adapter = new PlaceAdapter(this, mData); 
    mListView.setAdapter(adapter); 
} 

private OnItemClickListener mItemClickListener = new OnItemClickListener() { 
    @Override 
    public void onItemClick(android.widget.AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    Intent viewMessage = new Intent(Intent.ACTION_VIEW,Uri.parse(messages.get(arg2).getLink().toExternalForm())); 
    startActivity(viewMessage); 
    } 
}; 


/* @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) 
    { 
    super.onListItemClick(l, v, position, id); 
    Intent viewMessage = new Intent(Intent.ACTION_VIEW, Uri.parse(messages 
    .get(position).getLink().toExternalForm())); 
    this.startActivity(viewMessage); 
    }*/ 


class MessageListBroadCast extends BroadcastReceiver { 



    @Override 
    public void onReceive(Context context, Intent intent) { 
    System.out.println("hello"); 
    System.out.println("final Done"); 
    Bundle bundle = intent.getExtras(); 
    mData = bundle.getStringArrayList("keya"); 
    Log.d(TAG, "" + mData); 

    intent.putExtra("name", mData); 


    } 

}; 
} 

что massege список является класс, который является представление списка благодаря

ответ

1

Вместо того, чтобы работать, как это, я хотел бы использовать класс, производный от CursorAdapter в Adapter и пусть ваш магазин обслуживать свои результаты в ContentProvider и сообщать об изменениях на вашем ContentResolver на том же Uri, который вы используете в CursorAdapter. Таким образом, он будет обновляться автоматически, и ваши данные не будут потеряны, если что-то случится с вашим приложением (сбой, память, ...). Но я считаю, что это может быть немного накладных расходов, все зависит от того, что именно делает ваш веб-сервис и т. Д.

+0

привет eMich..thnks для ан. Я сделал это с этим способом .... на самом деле моя задача состоит в том, чтобы сделать это таким образом ... Я просто хочу отправить свои данные, хранящиеся в arrayList, в мою активность в MessageList ... – amit 2010-12-01 04:37:15

Смежные вопросы