-1

リストビューがあり、IDが異なる場合は別のレイアウトを使用したいのですが、それらのデータを同じリストビューに配置したいです。例: id="a" の場合、x1.xml レイアウトを使用したい場合 id="b" の場合、x2.xml レイアウトを使用したい場合

これは私のコードです:

    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    String msg=arrayMsg.get(position);
    ArrayList<String> splitMsg;
    splitMsg=new ArrayList<String>();

    StringTokenizer st=new StringTokenizer(msg,"_");
    for (String token : msg.split("_")) {
        splitMsg.add(token);
    }

    if(convertView==null){
        if(splitMsg.get(0)=="allen")
            convertView=View.inflate(mContext, R.layout.usermsglistview, null);
        else if(splitMsg.get(0)!="allen")
            convertView=View.inflate(mContext, R.layout.friendmsglistview, null);
    }

    if(splitMsg.get(0)=="allen"){
        //do something

    }

    else if(splitMsg.get(0)!="allen"){
        //do something
    }

    return convertView;
}

私の問題は、「else if(splitMsg.get(0)!="allen")」条件を使い続けているようです。したがって、レイアウトは 1 つだけです。

4

2 に答える 2

4

strings== や != を使用して比較しないでください。使用equals:

if(splitMsg.get(0).equals("allen")){
    //do something

}

else {
    //do something
}
于 2013-07-30T10:49:18.087 に答える