0

私のクラスでは、ブロードキャスト レシーバーで SMS メッセージをキャッチし、文字列 (URL であると想定) を取得し、それをフラグメント リストに表示される文字列配列に動的に追加するアプリケーションを作成する必要があります。リスト項目がクリックされたら、それをフラグメントの Web ビューにロードする必要があります。

ここまですべてが機能します。

問題は、url_act 文字列をリストに追加しようとしてもリストが更新されないことです。

これが私のコードです:

public class UpdateString extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    String url_act = "";
    Bundle b = getIntent().getExtras();
    url_act = b.getString("url");

    UrlListFragment uf = (UrlListFragment) getFragmentManager()
            .findFragmentById(R.id.listFragment);


    String[] urls = getResources().getStringArray(R.array.urls_array);
    List<String> list = new ArrayList<String>();
    list = Arrays.asList(urls);
    ArrayList<String> arrayList = new ArrayList<String>(list);
    arrayList.add(url_act);
    urls = arrayList.toArray(new String[list.size()]);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(UpdateString.this,
            android.R.layout.simple_list_item_1, urls);
    uf.setListAdapter(adapter);



}

コンテキストのコードがさらに必要な場合はお知らせください。更新しました

4

1 に答える 1

0

念のため、logcat出力を投稿する必要があります。そうしないと、どのような種類の例外がスローされたかがわかりません。

そうは言っても、私はそれがNullPointerException;であるに違いない。findFragmentById()ほとんどの場合、戻りnullます。これはおそらく、最初からXMLリソースを膨らませることがないためです。

于 2012-06-07T03:28:07.540 に答える