2011-03-30 100 views
2

列表中的數據是通過我的數據庫數組收集的。滾動A-Ö列表時,我想顯示字母預覽。我該怎麼做?謝謝...滾動列表時顯示字母預覽

public class L extends BaseActivity { 

    private ListView m_listView; 
    private DBManager m_db; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.letters); 
     customizeTitleBar("A-Ö", null); 
     setVisibilityToButton(R.id.left_button, visibilityGone); 
     setVisibilityToButton(R.id.right_button, visibilityGone); 

     m_db = new DBManager(getApplicationContext()); 
     m_db.openDataBase(); 

     m_listView = (ListView)findViewById(R.id.letters_listview); 
     m_listView.setFastScrollEnabled(true); 

     final ArrayList<Image> words = m_db.selectAllWords(); 

     WordListAdapter adapter = new WordListAdapter(getApplicationContext(), words); 

     m_listView.setAdapter(adapter); 

     m_listView.setOnItemClickListener(new OnItemClickListener(){ 

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
       Intent intent = new Intent(getApplicationContext(), ShowImage.class); 

       intent.putExtra("selectedItem", words.get(arg2).getRowId()); 
       intent.putExtra("word", words.get(arg2).getWord()); 

       startActivity(intent); 
      } 
     }); 
     m_db.closeDatabase(); 
    } 
} 

和適配器:

public class Adapter extends BaseAdapter { 


    private LayoutInflater m_inflater; 
    private ArrayList<Image> m_data = new ArrayList<Image>(); 
    ImageHelper m_helper = new ImageHelper(); 

    public Adapter(Context context, ArrayList<Image> data){ 
     this.m_inflater = LayoutInflater.from(context); 
     this.m_data= data; 
    } 

    public int getCount() { 
     return this.m_data.size(); 
    } 

    public Image getItem(int position) throws IndexOutOfBoundsException{ 
     return this.m_data.get(position); 
    } 

    public long getItemId(int position) throws IndexOutOfBoundsException{ 
     if(position < getCount() && position >= 0){ 
      return position; 
     } 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent){ 

     if(convertView == null){ 
      convertView = this.m_inflater.inflate(R.layout.lettersrows, null); 
     } 

     TextView tv = (TextView)convertView.findViewById(R.id.label); 

     tv.setText(this.m_data.get(position).getWord()); 
     tv.setTextSize(25); 

     convertView.setBackgroundColor((position & 1) == 1 ? Color.WHITE : Color.LTGRAY); 

     return convertView; 
    } 
} 

回答

0

你可能需要設置 'setFastScrollEnabled(布爾)' 上的ListView。

+0

不,這不是問題。我想要相同的觀點list9(api演示,陣列覆蓋)。謝謝 – aysen 2011-03-31 09:34:20