2017-03-13 10 views
0

好日子點擊後,我在這裏有一個問題,我的ListView設置列表視圖以刪除線項目

  1. 我有自定義arrayadapter列表視圖是有12個項目
  2. 我已經設置了列表視圖時點擊這是獲取關於所選項目

UPDATE

public class MainActivity extends AppCompatActivity { 
    private ListView mainList; 
    private final String[] listContent = { 
      "1. Get Ready", 
      "2. Second ", 
      "3. Third", 
      "4. Fourth", 
      "5. Fifth", 
      "6. Sixth", 
      "7. Seventh", 
      "8. Eight", 
      "9. Nineth", 
      "10. Ten", 
      "11. Eleven", 
      "12. Twelve", 
      "13. Look up number twelve", 
      "14. Its become strikethrough too", 
      "15. how to fix it?", 
      "16. Please help", 
      "17. Thanks", 
      "18. End" }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mainList = (ListView) findViewById(R.id.listview2); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, listContent); 
     mainList.setAdapter(adapter); 

     mainList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, 
            int position, long id) { 
       TextView text = (TextView) view; 
       text.setPaintFlags(text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
      } 

     }); 
    } 
} 
01刪除線

我的問題是,當我點擊第一項(第一),然後它成爲刪除線,但12項(第十二)它也是刪除線。 看到我的照片

點擊第一項: https://i.stack.imgur.com/M0nvm.jpg

12號也得透溼 https://i.stack.imgur.com/1hTPM.jpg

+0

無碼沒有人可以幫你。 – gmetax

+0

對不起,我忘了添加,我更新我的帖子 –

+0

添加一些項目列表,並重複檢查是否23也獲得突破。 –

回答

0

這是因爲它是現在正在使用的第一個項目是出於同一視圖實例視圖。

爲此目的,您將需要實施自己的(Base)Adapter並在那裏存儲有關哪些項目應通過的信息。
然後在視圖移入和移出視圖時,在getView方法中設置正確的繪製標記。

+0

對不起,你能給我定碼嗎? –

0

這是因爲視圖被重用而發生的。您需要存儲該對象的位置或ID,並相應地通過效果提供筆畫。希望它能幫助你。對於代碼參考或幫助,請參考下面link.It一定會幫助你

http://lalit3686.blogspot.com/2012/06/today-i-am-going-to-show-how-to-deal.html

https://www.codeproject.com/Questions/896462/Android-Need-to-save-checkbox-state-in-a-custom-ad

+0

我更新了我的帖子,是否正確的代碼?因爲我仍然有錯誤 –