0
我有一个微调,我希望做一个项目长时间点击我的名单上,但OnItemLongClick没有工作...如何在Spinner列表上设置ItemLongClick?
有谁知道新的方法来设置在旋转器上项目长时间点击?
谢谢
我有一个微调,我希望做一个项目长时间点击我的名单上,但OnItemLongClick没有工作...如何在Spinner列表上设置ItemLongClick?
有谁知道新的方法来设置在旋转器上项目长时间点击?
谢谢
根据android文档,没有办法执行逐项点击微调项目。这里是Link
所以,如果你想实现微调项目长按,你必须制作一个自定义适配器,并设置长时间点击视图。
public class TestSpinnerAdapter extends BaseAdapter {
private String[] mArray;
public TestSpinnerAdapter(String[] array) {
mArray = array;
}
@Override
public int getCount() {
return mArray.length;
}
@Override
public Object getItem(int position) {
return mArray[position];
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, final ViewGroup parent) {
LayoutInflater layoutInflater =LayoutInflater.from(parent.getContext());
convertView = layoutInflater.inflate(R.layout.adapter_spinner_item,parent,false);
((TextView)convertView.findViewById(R.id.tv_name)).setText(mArray[position]);
convertView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(parent.getContext(),"On Long Click",Toast.LENGTH_SHORT).show();
return false;
}
});
return convertView;
}
}
而且该适配器设置为您的微调
mTestSPN = (Spinner) findViewById(R.id.spn_test);
TestSpinnerAdapter testSpinnerAdapter = new TestSpinnerAdapter(getResources().getStringArray(R.array.array_name));
mTestSPN.setAdapter(testSpinnerAdapter);
在string.xml
<string-array name="array_name">
<item>Array Item One</item>
<item>Array Item Two</item>
<item>Array Item Three</item>
</string-array>
谢谢您的回答@ praween05!但我不知道adapter_spinner_item是什么?在我的例子中,我有3个spinners,你能给我一个adapter_spinner_item的例子吗? – Drissi
是它的一个xml文件。这里是代码: - –
我仍然无法使用此longclick与一个简单的点击我项目...它只是让我长时间点击整个视图而不是我的项目 – Drissi