0

我需要通过布局充气器访问内部文本视图

须藤层次结构:

<relative layout id="rlRoot">
 <relative layout>
  <linear layout>
   <linear layout>
    <relative layout id="rlTv">
      <textView id="tvOne"> 

我想通过 toast 为 id tvOne 动态设置值。

我使用的逻辑如下

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.test, (ViewGroup) findViewById(R.id.rlRoot));
TextView txtId = (TextView) layout.findViewById(R.id.tvOne);
txtId.setText("Id: " + getId());

Toast toast = new Toast(getApplicationContext());

toast.setGravity(Gravity.FILL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

但这给出了“视图未附加到窗口管理器”。我还将 rlRoot 更改为 rlTv。但同样的错误。如何访问此嵌套文本视图?

4

1 回答 1

1

如果您的逻辑在您的onCreate()然后更改

View layout = inflater.inflate(R.layout.test, (ViewGroup) findViewById(R.id.rlRoot));

这条线到

View layout = inflater.inflate(R.layout.test, null);

像这样。我希望这能帮到您。

于 2013-06-06T08:07:26.270 回答