2016-04-24 61 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