【发布时间】:2014-05-15 12:30:23
【问题描述】:
我在代码行中收到以下错误:
无法从 View 类型对非静态方法 findViewById(int) 进行静态引用
mspinner = (Spinner) View.findViewById(R.id.spinnervdc);
代码行也出现以下错误
构造函数 ArrayAdapter(ListViewFragment, int, String[]) 未定义
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,name);
我的 MainActivity 是
package com.yogeshojha.nagariksahayata;
import java.util.ArrayList;
import java.util.List;
import com.yogeshojha.nagariksahayata.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.app.Activity;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class ListViewFragment extends Fragment implements OnItemSelectedListener{
public ListViewFragment(){}
Spinner mspinner; //declare spinner globally
ArrayAdapter<String> adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_listview, container, false);
mspinner = (Spinner) View.findViewById(R.id.spinnervdc);
//set adapter for spinner here
String [] name = {"A","B","C"};
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,name);
// you can use getActivity() or this
mspinner.setAdapter(adapter);
return rootView;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
//do something when particular item is selected from spinner
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}
【问题讨论】:
标签: java android android-fragments spinner android-spinner