没有得到烤面包在单击微调项目
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner s = new Spinner(this);
RelativeLayout rl = (RelativeLayout)
findViewById(R.id.activity_main);
String ss[] = {"--Select Item--", "Item1", "Item2", "Item3",
"Item4", "Item5"};
ArrayAdapter<String> ad = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, ss);
s.setAdapter(ad);
rl.addView(s);
s.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
TextView t = (TextView) v;
Toast.makeText(MainActivity.this, t.getText().toString(),
Toast.LENGTH_SHORT).show();
return true;
}
});
}
}
当我长时间在微调项目上,我没有得到任何吐司,应该来代码指定它如此。此外,当长时间按下微调器本身(而不是微调器下拉列表中的项目)时,该应用程序崩溃。为什么?没有得到烤面包在单击微调项目
编辑1:
s.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
TextView t = (TextView) view;
Toast.makeText(MainActivity.this, t.getText().toString(), Toast.LENGTH_SHORT).show();
return true;
}
});
当使用setOnItemLongClickListener代替setOnLongClickListener然后长按当项目在旋转的下拉列表中应该产生一个烤面包,但它是不会放弃这样的吗?
longClickListener
设置为Spinner
类,您将该视图强制转换为侦听器中的TextView
。这就是为什么该应用程序崩溃。
Spinner.setOnLongClickListener
不是每个适配器项目的侦听器。
你在找什么是Spinner.setOnItemSelectedListener(new OnItemSelectedListener())
非常感谢....知道了 –
还有一个疑问,当我使用setOnItemLongClickListener()时,它应该给吐司,当我长时间按下微调项目,但它不会来。我正在编辑中添加该代码。请也澄清一下。提前感谢 –
你有没有试过想把任何字符串例如Toast消息中的“Hello Toast”,而不是使用t.getText(),看看它是否有效? –
@AaronThompson是的,没有任何反应 –