ListActivity: ListView поверх текстового представления - PullRequest
0 голосов
/ 26 августа 2011

Я пытаюсь разместить текстовое представление (id / FoundinDescubre) под просмотром списка, а позже второе представление списка под этим просмотром текста.Я использую ListActivity, который получает данные для этого списка "@android: id / list".Мой XML-файл выглядит примерно так:

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/RelativeLayout1Contact"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/divider1"
        >
    </ListView>


    <TextView
        android:id="@+id/android:empty"
        android:textColor="@color/text_color_white"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/main_no_items">
    </TextView>


    <TextView 
        android:layout_height="wrap_content" 
        android:id="@+id/FoundinDescubre" 
        android:layout_below="@id/android:list"  -> not sure what to put here cause the listview  reference id is basically coming from android.R.id.list

        android:text="@string/found_in_descubre" 
        android:layout_width="fill_parent">
    </TextView>

    <ListView>
           which i will worry later, I will prefer to get this textview above to show. 
    </ListView>

</RelativeLayout>

Когда он впервые раздувает этот макет, текстовое представление id / FoundinDescubre находится прямо под пустым текстовым представлением, которое соответствует ListActivity.После выполнения ListActivity требуется несколько секунд, чтобы получить необходимые данные, и он отображает текстовое представление id / FoundinDescubre прямо под пустым текстовым представлением.После создания нового потока, который заполняет список ListActivity.Это момент, когда textview id / FoundinDescubre исчезает с экрана.Есть ли способ обновить или изменить порядок этих представлений, чтобы текстовое представление id / FoundinDescubre могло отображаться под этим списком?У меня есть сомнения в том, как я устанавливаю атрибут android: layout_below.Я не уверен, что это правильный способ обратиться к списку ListActivity.

Еще одна вещь в моем коде, которую я вызываю потоком пользовательского интерфейса, используя runOnUiThread ().Затем я модифицирую представление списка, используя notifyDataSetChanged () из его адаптера массива.Я попытался обновить экран из этой темы, но это не сработало.

RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.RelativeLayout1Contact);
 TextView v1 = (TextView)findViewById(R.id.FoundinDescubre);
 ListView lv1 = (ListView)findViewById(android.R.id.list);
 RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
  lp.addRule(RelativeLayout.BELOW, lv1.getId());
  rlayout.addView(v1, lp);

Я не уверен, предназначен ли этот поток пользовательского интерфейса для выполнения подобных операций.

...