Android – 如何显示具有值的微调器但显示不同的微调器

对于我的Android应用程序,我需要使用一个显示XML树的微调器。 该树是用户理解他可以选择的值的级别的必要条件。

这是我现在所拥有的图片: 在此处输入图像描述

正如你所看到的,我已经设置了一些“>”和一些空间来模拟树。 我现在想要的是,当用户选择一个条目时,显示没有这些符号的值。

今天,微调器显示如下值: 在此处输入图像描述

这个词是“>超市”,但我想要的是“超市”,只有那个。 有没有办法修改微调器显示的选定值而不是列表?

我希望你能帮助我。

问候。

V.

你可以这样做的想法

使您的微调器不可见将一个textView放在微调器后面,将TextView文本设置为微调所选项目

textView.settext(spinner.getSelectedItem().replace(">","").trim())); 

别忘了将微调器放在textView上,否则你不会得到微调器点击事件

以下是我需要的代码:

首先,用下面的代码部分替换你的微调器:

      

在名为custom_spinner.xml的可绘制文件夹中创建一个新的XML文件,并放入该代码:

        

下载这两张图片并将它们添加到您的drawable文件夹中( spinner_pressed.9.pngspinner_normal.9.png ):

spinner_pressed.9.pngspinner_normal.9.png

在您的活动中,添加以下变量:

 private Spinner spinner; private Button fake_btn; private TextView fake_text; 

在onCreate方法中,添加:

 spinner = (Spinner) findViewById(R.id.spinner); fake_btn = (Button) findViewById(R.id.fake_btn); fake_text = (TextView) findViewById(R.id.fake_text); fake_btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { spinner.performClick(); } }); spinner_manual.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView parentView, View childView, int position, long id) { String value = (String) spinner.getItemAtPosition(position); fake_text.setText(value); } public void onNothingSelected(AdapterView parentView) {} }); 

你在那里,它应该工作。