0

我不想在微调器中显示选定的项目,我的微调器看起来像这样......!我的微调器背景只是箭头,您可以在此处的文本图像描述后面看到它

我的微调器背景只是您可以在文本后面看到的箭头...请帮助我...提前谢谢..

4

3 回答 3

2

我建议您可以使用ImageView&AlertDialog代替Spinner.

只需在 ImageView 上打开 AlertDialog 并在 AlertDialog (SingleChoice) 和 setText 中显示您的数据,您的项目在 AlertDialog 中选择。

这是 AlertDialog 的示例代码。

new AlertDialog.Builder(this)

.setSingleChoiceItems(items,0, new DialogInterface.OnClickListener()
{
    @Override
    public void onClick(DialogInterface dialog, int which) 
    {
        textview.setText(items[which])
    }
})
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int id) {

           }
})
.show();

其中 items 是您的数据的 String[]。OnClick在中调用此代码ImageView

您还可以检查如何在对话框中添加列表

于 2012-10-29T10:00:03.197 回答
0
spinnerSildeMenu
        .setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
                arg0.getChildAt(0).setVisibility(View.GONE);
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
        }
});
于 2014-05-19T09:54:32.177 回答
0

要隐藏微调器下拉列表中的任何项目,您需要根据所需的标准传递需要隐藏的项目的位置。

public class CustomAdapter extends ArrayAdapter<String> {
private List<String> dates;
private int hideItemPostion;

public CustomAdapter (Context context, int resource, List<String> dates) {
    super(context, resource,dates);
    this.dates=dates;
}
public void setItemToHide(int itemToHide)
{
    this.hideItemPostion =itemToHide;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    View v = null;
    if (position == hideItemPostion) {
        TextView tv = new TextView(getContext());
        tv.setVisibility(View.GONE);
        tv.setHeight(0);
        v = tv;
        v.setVisibility(View.GONE);
    }
    else
        v = super.getDropDownView(position, null, parent);
    return v;
}}

设置适配器如下

final CustomAdapter dataAdapter = new CustomAdapter(this,R.layout.spinner_item,dates);
dataAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
dataAdapter.setItemToHide(0);

从下拉列表中选择一些项目时,位置也需要更改。在您的情况下,所需的项目是选定的项目,因此需要将选定的位置传递给适配器。

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, final int i, long l) {
    dataAdapter.notifyDataSetChanged();
        mEPGDateSelector.setSelection(i);
        dataAdapter.setItemToHide(i);}

         @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

    }
});
于 2017-01-27T10:01:07.663 回答