Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:自定义微调器不显示所选项目_Android_Spinner - Fatal编程技术网

Android:自定义微调器不显示所选项目

Android:自定义微调器不显示所选项目,android,spinner,Android,Spinner,问题是,在微调器中选择的项目以白色呈现,尽管我已经明确设置了颜色。我不知道该怎么办。我在谷歌上搜索过类似的话题,但都是通过设置颜色来解决的。对我来说没用。这是我的密码: private View getFormView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater inflater = mA.getL

问题是,在微调器中选择的项目以白色呈现,尽管我已经明确设置了颜色。我不知道该怎么办。我在谷歌上搜索过类似的话题,但都是通过设置颜色来解决的。对我来说没用。这是我的密码:

private View getFormView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v == null) {
        LayoutInflater inflater = mA.getLayoutInflater();
        v = inflater.inflate(R.layout.f_new_program_form, null);
        Spinner sp = (Spinner) v.findViewById(R.id.spinnerExercises);
        ExerciseSpinnerAdapter spAdapter = new ExerciseSpinnerAdapter(mA);

        LoadTask task = new LoadTask((BBBaseAdapter) spAdapter,
                URLs.host + URLs.allExercisesUrl, mA);
        task.execute();
        sp.setAdapter(spAdapter);
    }
    return v;
}
ExerciseSpinnerAdapter.java:

public class ExerciseSpinnerAdapter extends BBBaseAdapter implements
    SpinnerAdapter {

protected JSONArray data = new JSONArray();

public ExerciseSpinnerAdapter(Activity a) {
    super(a);
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return this.data.length();
}

@Override
public JSONObject getItem(int position) {
    try {
        return this.data.getJSONObject(position);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return null;
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public int getItemViewType(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v == null) {
        v = mA.getLayoutInflater().inflate(R.layout.custom_spinner, parent,
                false);

    }
    TextView t = (TextView) v.findViewById(R.id.spinnerTextZZ);
    try {
        t.setText(getItem(position).getString("name"));
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     t.setTextColor(Color.RED);

    return v;
}

@Override
public int getViewTypeCount() {
    // TODO Auto-generated method stub
    return 1;
}

@Override
public boolean hasStableIds() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean isEmpty() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public void registerDataSetObserver(DataSetObserver observer) {
    // TODO Auto-generated method stub

}

@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
    // TODO Auto-generated method stub

}

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v == null) {
        v = mA.getLayoutInflater().inflate(R.layout.custom_spinner, parent,
                false);

    }
    TextView t = (TextView) v.findViewById(R.id.spinnerTextZZ);
    try {
        t.setText(getItem(position).getString("name"));
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     t.setTextColor(Color.RED);
    return v;
}

@Override
public void updateEntries(Object data) {
    this.data = (JSONArray) data;
    notifyChanges();
}   

public void notifyChanges() {
    notifyDataSetChanged();
}

}
自定义微调器:

 < TextView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:id="@+id/spinnerTextZZ"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:padding="0dp"
   android:layout_margin="0dp"
   android:text="!"
   android:textAppearance="?android:attr/textAppearanceMedium" android:textColor = "#000000" />

我错过了什么?

如果你有我的额外方法:

@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 1;
}

@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}

@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}

@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub

}
拆下它们或使用工具。但是如果您扩展BaseAdapter,它们已经实现了。不知道从哪个例子我得到了它们