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>
我希望这对将来的某个人有所帮助
这篇关于微调控制器项不可单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:微调控制器项不可单击


猜你喜欢
- Android viewpager检测滑动超出范围 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01