簡體   English   中英

無法在原始類型int上調用findViewById(int)

[英]Cannot invoke findViewById(int) on the primitive type int

我想從android應用中的微調器中獲取選定的值。

我嘗試像跟隨者一樣,因為我的微調器在對話框彈出窗口中

final Spinner problems = (Spinner) layout.input_dialog.findViewById((R.id.spinner_problems));
              problems.setOnItemSelectedListener(new OnItemSelectedListener(){

                 @Override
                 public void onItemSelected(AdapterView<?> adapter, View view1, int pos, long id)
                 {
                     spin_problem_val = adapter.getItemAtPosition(pos).toString();
                 }

                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub

                }
            });

聲明final Spinner problems = (Spinner) layout.input_dialog.findViewById((R.id.spinner_problems)); 給我錯誤Cannot invoke findViewById(int) on the primitive type int

為什么這樣 ?

如果我像這樣嘗試final Spinner problems = (Spinner) findViewById((R.id.spinner_problems));

我會得到NullPointerException

input_dialog是我的input_dialog.xml對話框彈出窗口,其中的微調器是

<Spinner
        android:id="@+id/spinner_problems"
        android:entries="@array/problems"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"       
         />

layout.input_dialog是生成的R.javaint字段。 您不能在基本類型(例如int上調用方法,為此需要一個對象。

由於您嘗試從對話框中查找視圖,因此請在Dialog對象中調用findViewById() 要獲得具體幫助,請發布更多代碼。

確保在設置布局運行此代碼。 當您在加載布局之前嘗試訪問視圖時,通常會發生錯誤。

onCreateView函數設置布局檢查此代碼是否正在運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM