亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的 findViewByid 在擴展片段上變成紅色,我在 onCreate 方法上而不是在

我的 findViewByid 在擴展片段上變成紅色,我在 onCreate 方法上而不是在

牛魔王的故事 2021-10-13 15:36:07
find view by id標記為紅色,我不是在onCreateView上做的,幫我解決這種錯誤,我真的是android編程的新手package com.example.mymonitoring;public class MonitoringFragment extends Fragment {private static final String TAG = "STATISTICACTIVITY";private Button Temperature;private Button Humidity;private TextView t1;private TextView t2;private static TextView t3;private static final String THINGSPEAK_CHANNEL_ID = "572138";private static final String THINGSPEAK_API_KEY = "ND76MAN2CWQJG25G"; //GARBAGE KEYprivate static final String THINGSPEAK_API_KEY_STRING = "ND76MAN2CWQJG25G";/* Be sure to use the correct fields for your own app*/private static final String THINGSPEAK_FIELD1 = "field1";private static final String THINGSPEAK_FIELD2 = "field2";private static final String THINGSPEAK_FIELD3 = "field3";private static final String THINGSPEAK_UPDATE_URL = "https://api.thingspeak.com/update?";private static final String THINGSPEAK_CHANNEL_URL = "https://api.thingspeak.com/channels/";private static final String THINGSPEAK_FEEDS_LAST = "/feeds/last?";private ThingSpeakChannel tsChannel;private ThingSpeakLineChart tsChart;private LineChartView chartView;public MonitoringFragment() {    // Required empty public constructor}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {return v;}@Overridepublic void onCreate(Bundle savedInstanceState){        super.onCreate(savedInstanceState);        t1 = (TextView) findViewById(R.id.tempNumber);        t2 = (TextView) findViewById(R.id.humidNumber);這是我的 xml 代碼,fragment_monitoring.xml,findviewById 標記為紅色,在擴展片段中的 onCreate 方法上執行此操作
查看完整描述

3 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

片段沒有findViewById()方法,所以它是紅色的,因為它不存在。

findViewById() 必須在 View 對象上或從 Activity(它只是該 Activity 的根 View 的代理)調用。

無論如何,您也不能調用FragmentfindViewById()onCreate()方法,因為onCreate()在之前執行onCreateView(),這意味著 Fragment 的視圖此時為空。

v 似乎也不是您的 Fragment 中的變量。

將您的代碼移至onCreateView()onViewCreated()findViewById()在您的視圖上進行調用。


查看完整回答
反對 回復 2021-10-13
  • 3 回答
  • 0 關注
  • 1339 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號