Простой LayoutInflater не обновляет View - PullRequest
0 голосов
/ 05 июля 2011

Я потратил слишком много времени на это. Первоначально я использовал простой метод onAction параллельно с оператором XML onclick для управления кнопкой, расположенной внутри моего ExpandableListView. Я подумал, что было бы неплохо использовать инфляцию, чтобы я мог лучше контролировать кнопку во время выполнения. Вы можете увидеть более раннюю запись ЗДЕСЬ

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

BrowseActivity.class

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.browse);

    ViewGroup parent = (ViewGroup) findViewById(R.id.expandLinLayout);

    ExpandableListView browseView = (ExpandableListView) findViewById(android.R.id.list);

    LayoutInflater inflater = LayoutInflater.from(this);

    View view = inflater.inflate(R.layout.row, parent);

    LinearLayout linLay = (LinearLayout) view
            .findViewById(R.id.LinearLayout1);
    TextView rowTxt = (TextView) view.findViewById(R.id.txtItem);

    rowTxt.setTextColor(Color.CYAN);

.........
}

Код browse.xml , содержащий список:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:id="@+id/expandLinLayout"
>
<ExpandableListView 
android:id = "@android:id/list" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent"
android:groupIndicator="@drawable/my_group_statelist"

>  
</ExpandableListView>

</LinearLayout>

И, наконец, row.xml код:

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


>
<TextView 
android:layout_gravity="center_vertical|right" 
android:id="@+id/txtItem" 
android:text="Item" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 


></TextView>

</LinearLayout>

Любая помощь или предложения будут очень признательны.

1 Ответ

0 голосов
/ 05 июля 2011

Попробуйте выполнить инициализацию макета

LayoutInflater inflater = (LayoutInflater)context.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
...