android– 使用BaseAdapter在Listview中的标题

android– 使用BaseAdapter在Listview中的标题,第1张

概述如何使用BaseAdapter将标题放入ListView?或者在我下面使用的那个旁边还有其他方法.我尝试过使用addHeaderView(header)函数,但仍然没有运气.需要一些帮助.谢谢!代码如下.publicclassViewInterviewextendsActivity{InterviewListinterviewList=null;TextViewheader;L

如何使用BaseAdapter将标题放入ListVIEw?或者在我下面使用的那个旁边还有其他方法.

我尝试过使用addheaderVIEw(header)函数,但仍然没有运气.

需要一些帮助.谢谢!代码如下.

public class VIEwIntervIEw extends Activity {IntervIEwList intervIEwList = null;TextVIEw header;ListVIEw List = null;static ArrayList<String> TitleList;static ArrayList<String> markingsList;@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main_intervIEw);    List = (ListVIEw) findVIEwByID(R.ID.List_intervIEw);    String TAG = "INTERVIEW List";    header = (TextVIEw) findVIEwByID(R.ID.header);    header.setText("Test");    TitleList = new ArrayList<String>();    markingsList = new ArrayList<String>();    try {        SAXParserFactory factory = SAXParserFactory.newInstance();        SAXParser parser = factory.newSAXParser();        XMLReader xreader = parser.getXMLReader();        inputSource is = new inputSource(getResources().openRawResource(R.raw.bookList));        IntervIEwHandler myIntervIEwHandler = new IntervIEwHandler();        xreader.setContentHandler(myIntervIEwHandler);        xreader.parse(new inputSource(is.getByteStream()));    } catch(Exception e) {        Log.i(TAG, "IntervIEwList parse exception " + e.getMessage());    }    //---get result from IntervIEwHandler tempIntervIEwList    intervIEwList = IntervIEwHandler.tempIntervIEwList;    String strMarkings = intervIEwList.getMarkings().get(0);    String[] arrMarkings = strMarkings.split("\|\|");    for(int i=0; i<arrMarkings.length; i++) {        TitleList.add("Title " + intervIEwList.getTitle().get(0));        markingsList.add(arrMarkings[i]);    }    //List.addheaderVIEw(header);    //setlistadapter(new ArrayAdapter<String>(this, androID.R.layout.simple_List_item_1, intervIEwList.intervIEw));    List.setAdapter(new IntervIEwAdapter(this,TitleList,markingsList));}public static class IntervIEwAdapter extends BaseAdapter {    private LayoutInflater mInflater;    private List<String> dataTitle;    private List<String> dataMarkings;    public IntervIEwAdapter(Context context, List<String> dataTitle, List<String> dataMarkings) {        mInflater = LayoutInflater.from(context);        dataTitle = this.dataTitle;        dataMarkings = this.dataMarkings;    }    public int getCount() {        return TitleList.size();    }    public Object getItem(int position) {        return position;    }    public long getItemID(int position) {        return position;    }    public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {        VIEwHolder holder;        if(convertVIEw == null) {            convertVIEw = mInflater.inflate(R.layout.layout_intervIEw, null);            holder = new VIEwHolder();            holder.Title = (TextVIEw)convertVIEw.findVIEwByID(R.ID.Title);            holder.markings = (TextVIEw)convertVIEw.findVIEwByID(R.ID.markings);            convertVIEw.setTag(holder);        } else {            holder = (VIEwHolder)convertVIEw.getTag();        }        holder.Title.setText(TitleList.get(position));        holder.markings.setText(markingsList.get(position));        return convertVIEw;    }    static class VIEwHolder {        TextVIEw Title;        TextVIEw markings;    }}

}

解决方法:

你根本做不到

VIEw header = findVIEwByID(R.layout.headerVIEw);lst.addheaderVIEw(header);

这不起作用,因为传入的视图必须膨胀.简而言之,当您在活动开始时执行setContentVIEw时,androID框架会自动对视图进行膨胀并将其投入使用.为了扩展标题视图,您只需要做的就是

VIEw header = (VIEw)getLayoutInflater().inflate(R.layout.headerVIEw,null);ls.addheaderVIEw(header);

最后,在设置标题视图并运行应用程序后添加适配器.您应该看到包含放入适配器的内容的标题视图.

在我的情况下,这是有效的

VIEw header = getLayoutInflater().inflate(R.layout.header, null); ListVIEw ListVIEw = getListVIEw();  ListVIEw.addheaderVIEw(header);  setlistadapter(new ArrayAdapter<String>(this,             androID.R.layout.simple_List_item_single_choice,androID.R.ID.text1, names)); 
总结

以上是内存溢出为你收集整理的android – 使用BaseAdapter在Listview中的标题全部内容,希望文章能够帮你解决android – 使用BaseAdapter在Listview中的标题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存