[英]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.java
的int
字段。 您不能在基本類型(例如int
上調用方法,為此需要一個對象。
由於您嘗試從對話框中查找視圖,因此請在Dialog
對象中調用findViewById()
。 要獲得具體幫助,請發布更多代碼。
確保在設置布局后運行此代碼。 當您在加載布局之前嘗試訪問視圖時,通常會發生錯誤。
請在 onCreateView
函數設置布局后檢查此代碼是否正在運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.