FindViewById()找不到View

Fra*_*ran 7 android android-layout

刚刚添加了一个新按钮到我已经工作正常的布局,但是findViewById函数似乎对我无法理解的东西感到生气.

这是一些布局:

<LinearLayout
        ...
    >
    <ListView
        android:id="@+id/my_lovely_list"
        android:layout_width="fill_parent"
        android:layout_weight="1" 
        />

    <Button
        android:id="@+id/my_lovely_butt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/exit_b"
        android:layout_weight="0"
        android:clickable="true"
        />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这里有一些编码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
    list_o = (ListView)findViewById(R.id.my_lovely_list);
    butt_o = (Button)findViewById(R.id.my_lovely_butt);
    ...
}
Run Code Online (Sandbox Code Playgroud)

所以,最大的错误是ListView被发现没有任何问题,但Button绝不会.我已经尝试过清理Proyect了,看看我在这里发现的帖子......但仍然没有找到问题!有什么想法吗?

MAC*_*MAC 18

import yourpackagename.R;
Run Code Online (Sandbox Code Playgroud)

代替 android.R;

导入R你的包裹

此外,Clean您的项目将刷新整个项目,然后您也会找到ID按钮

  • `android.R`不包含任何id**my_lovely_list**.所以如果是这样的话,他甚至无法构建应用程序. (3认同)

An-*_*oid 6

有时文件R不会被重新生成.试试:

  • 清理您的项目
  • 重建它
  • 管理以返回到编译并重试逐个添加元素的版本,并每次编译以检查R文件
  • 最后一个选项是关闭/重新开启eclipse是的,其他方式无法克服一些错误^^"

不用担心它只是经常发生的一些常见的eclipse/android错误(其他时候它也可能是你项目中某处的小语法错误,但我假设你已经检查过x)

祝好运