对于我的Android应用程序,我需要使用显示XML树的微调框。这棵树是让用户理解他可以选择的价值的级别。Android - 如何显示有价值的微调框,但显示不同的值
这里是什么,我现在所拥有的一个画面:
正如你所看到的,我已经把一些小“>”和一些空间来模拟树。我现在想要的是当用户选择一个条目时,显示没有这些符号的值。
今天,微调显示这样的值:
的词是“>超市”,但我要的是“超市”,并且仅此而已。有没有办法修改微调器显示的选定值,但不是列表?
我希望你能帮助我。
问候。
五
对于我的Android应用程序,我需要使用显示XML树的微调框。这棵树是让用户理解他可以选择的价值的级别。Android - 如何显示有价值的微调框,但显示不同的值
这里是什么,我现在所拥有的一个画面:
正如你所看到的,我已经把一些小“>”和一些空间来模拟树。我现在想要的是当用户选择一个条目时,显示没有这些符号的值。
今天,微调显示这样的值:
的词是“>超市”,但我要的是“超市”,并且仅此而已。有没有办法修改微调器显示的选定值,但不是列表?
我希望你能帮助我。
问候。
五
这是我用,如果有人需要它的代码:
首先,代码如下因素部分取代你的微调:
<RelativeLayout
android:layout_width="190dp"
android:layout_height="40dp"
android:layout_marginRight="5dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_spinner"
android:visibility="invisible" />
<Button
android:id="@+id/fake_btn"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_spinner" />
<TextView
android:id="@+id/fake_text"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:textColor="#000000" />
</RelativeLayout>
创建的名为custom_spinner.xml
绘制文件夹一个新的XML文件,并把该代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:drawable="@drawable/spinner_normal" />
</selector>
下载这两个图片,并将它们添加到您的绘制文件夹(spinner_pressed.9.png
和spinner_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) {}
});
你来了,它应该工作。
你可以做到这一点的想法,
让你的微调无形把微调 集的TextView文本后面的TextView的,以微调器选择的项目与
textView.settext(spinner.getSelectedItem().replace(">","").trim()));
不要忘记将微调器放在textView上,否则你将无法获得微调器点击 事件
匹配的自定义图像,此代码不完整,您没有添加将值替换为Vipin建议的代码。仍然我通过这个解决了我的问题,所以+1给你们两个:) – 2013-04-19 06:13:23