2016-04-24 31 views

回答

0

根据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> 
+0

谢谢您的回答@ praween05!但我不知道adapter_spinner_item是什么?在我的例子中,我有3个spinners,你能给我一个adapter_spinner_item的例子吗? – Drissi

+0

是它的一个xml文件。这里是代码: -

+0

我仍然无法使用此longclick与一个简单的点击我项目...它只是让我长时间点击整个视图而不是我的项目 – Drissi