2011-10-19 6 views
0

ロケオン(ネットワークまたはGPS)が受信するまでに時間がかかるので、どのようにリストビューで位置データを使用しますか?作成時にリストビューに値が設定されている場合、その場所はまだ見つからず、nullになることがよくあります。アンドロイドリストビューで場所を取得する最善の方法

このタイプのビューを設計して、リストビューをレンダリングした後、その行にロケーションデータを入力する最善の方法はありますか?

もしそうなら、そうでない場合、最良のアプローチは何ですか?コード例でこれをどのように実装しますか?

答えて

0

データリストが設定されたListViewを設定し、データが変更されたときに通知することができます。ここに例があります。

ArrayList<String> myData = new ArrayList<String>(); 
ListView myListView = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 

    myListView = (ListView)findViewById(R.id.mylistview); 
    myListView.setAdapter(new ArrayAdapter<String>(this, R.id.textlayout, myData)); 
} 

私が行ったことは、リストビューを取得し、空の配列リストを使用してアダプタをセットアップすることでした。今、リストビューのデータを更新したいときはいつでも、私は次のことを行います。

myData.add("My new location"); 
myListView.getAdapter().notifyDataSetChanged(); 

リストビューが更新されます。これを行うもう1つの方法は、渡されたリストの代わりにアダプタにデータを直接追加することです。

myArrayAdapter.setNotifyOnChange(true); 
myArrayAdapter.add("My new location"); 
関連する問題