我不能找到辦法通過上下文適配器在靜態片段微調(onCreateView()函數):的微調(在片段通過上下文)的Android適配器
public class MainActivity extends AppCompatActivity{
.
.
.
public static class MainFragment extends Fragment {
.
.
.
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
.
.
.
spinner1.setAdapter(new MyAdapter(MainActivity.this, spinner1, spinnerValues));
spinner2.setAdapter(new MyAdapter(this, spinner1, spinnerValues));
spinner3.setAdapter(new MyAdapter(this, spinner1, spinnerValues));
.
.
.
我甚至試圖創建支持static方法返回上下文的靜態類,但都沒有工作。
這是MyAdapter類:
public class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context ctx, int txtViewResourceId, String[] objects) {
super(ctx, txtViewResourceId, objects);
}
public View getDropDownView(int position, View cnvtView, ViewGroup prnt) {
return getCustomView(position, cnvtView, prnt);
}
public View getView(int pos, View cnvtView, ViewGroup prnt) {
return getCustomView(pos, cnvtView, prnt);
}
public View getCustomView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View mySpinner = inflater.inflate(R.layout.custom_spinner, parent, false);
TextView main_text = (TextView) mySpinner
.findViewById(R.id.text_main_seen);
main_text.setText(spinnerValues[position]);
return mySpinner;
}
}
編輯:我收到一個錯誤:
我不明白問題是什麼。它看起來像你的適配器在其構造函數中接受一個上下文,並且正好接收一個Activity上下文。 –
嗯,我收到一個錯誤:「MainActivity.this無法從靜態上下文中引用」 – Fryzjer
請編輯該問題,並將該詳細信息與正在使用它的完整類一起包含。 –