首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Fragment 找不到 View ID:setContentView 佈局中缺少對應容器 ID

     編輯:程式設計綜合問答

FragmentTransaction.add(R.id.feedContentContainer, fragment) 報 No view found for id,因 FragmentActivity 的 setContentView 佈局中不存在 R.id.feedContentContainer。

修正步驟

  1. 檢查 FragmentActivity.onCreate 中 setContentView(R.layout.activity_layout)。
  2. 打開 activity_layout.xml 確認包含:
<FrameLayout
    android:id="@+id/feedContentContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

常見錯誤

  • setContentView 用了錯誤的佈局文件(如只含列表、無容器)。
  • 容器 ID 拼寫錯誤或放在 include 佈局中未正確合併。
  • 在 Fragment 而非 FragmentActivity 中調用 setContentView。

正確模式

public class MainActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // 必須含 feedContentContainer
        
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                .add(R.id.feedContentContainer, new FeedFragment())
                .commit();
        }
    }
}

確保宿主 Activity 佈局包含 Fragment 容器 ID,事務提交才能找到目標視圖。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved