Показывать предварительный просмотр письма при прокрутке списка - PullRequest
2 голосов
/ 30 марта 2011

Листа была создана с данными, собранными через массив моей базы данных там.Я хочу показать предварительный просмотр письма при прокрутке списка 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;
    }
}

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Я знаю, что прошло много времени с тех пор, как вы просили, но вы должны заставить свой адаптер реализовывать SectionIndexer для отображения буквы во время быстрой прокрутки. Вот хороший пример, на который вы можете посмотреть, что нужно сделать.

http://twistbyte.com/tutorial/android-listview-with-fast-scroll-and-section-index

0 голосов
/ 31 марта 2011

Возможно, вы хотите установить setFastScrollEnabled (boolean) в ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...