Spinner Items Not Clickable(微调控制器项不可单击)
本文介绍了微调控制器项不可单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个用4个元素填充的微调控件。在启动过程中,onItemSelected方法得到正确执行,并显示Toast消息。但是,当我打开微调按钮并尝试点击任何项目时,没有任何事件被调用,除非我按下微调按钮箭头,否则微调按钮弹出窗口不会关闭。换句话说,我不能与微调控制器项进行交互。
下面是微调控件的活动代码
<Spinner
android:id="@+id/spinner"
android:popupBackground="@color/red"
android:clickable="true"
style="@style/spinner250"/>
下面是微调控件的样式
<style name="spinner250">
<item name="android:layout_width"> 250dp </item>
<item name="android:layout_height"> match_parent </item>
<item name="android:textColor"> @color/blue </item>
<item name="android:textSize"> 12sp </item>
</style>
这是我用来与微调控件交互的Java代码
Com.example.android.gjobat包;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import org.w3c.dom.Text;
import static android.R.attr.country;
import static android.widget.ArrayAdapter.createFromResource;
public class MainActivity extends AppCompatActivity implements OnItemSelectedListener {
public Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String[] items = {"Item 1", "Item 2", "Item 3", "Item 4"};
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String item = parent.getItemAtPosition(position).toString();
// User selected item
Toast.makeText(getApplicationContext(), item + " selected!", Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent)
{
}
}
推荐答案
在花了整整一天的时间后,我发现问题是由
<item name="android:inputType">textCapCharacters</item>
这是在我的style es.xml文件中。我不知道为什么这行代码会导致错误,但至少在我删除该行之后,它现在可以工作了。在删除错误行之前,请查看我的style es.xml文件的完整副本
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
<item name="android:inputType">textCapCharacters</item>
<item name="colorControlActivated">@color/white</item>
<item name="colorControlHighlight">@color/white</item>
<item name="colorControlNormal">@color/white</item>
</style>
我希望这对将来的某个人有所帮助
这篇关于微调控制器项不可单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:微调控制器项不可单击
基础教程推荐
猜你喜欢
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01