Java 如何确定它是否';s我的文本或其他文本,然后正确附加到listview

Java 如何确定它是否';s我的文本或其他文本,然后正确附加到listview,java,android,listview,Java,Android,Listview,到目前为止,我有以下代码: if (c.getString(c.getColumnIndexOrThrow("type")).toString().contains("1")) { Context context = getApplicationContext(); CharSequence text = c.getString(c.getColumnIndexOrThrow("type")).toString(); int duration = Toast.LENGTH

到目前为止,我有以下代码:

if (c.getString(c.getColumnIndexOrThrow("type")).toString().contains("1")) {
    Context context = getApplicationContext();
    CharSequence text = c.getString(c.getColumnIndexOrThrow("type")).toString();
    int duration = Toast.LENGTH_SHORT;
    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
    adapter = new ArrayAdapter<String>(this, R.layout.incomming, R.id.message, sms_body);
    lv.setAdapter(adapter);
} else {
    adapter = new ArrayAdapter<String>(this, R.layout.outgoing, R.id.message, sms_body);
     lv.setAdapter(adapter);
}
if(c.getString(c.getColumnIndexOrThrow(“type”)).toString()包含(“1”)){
Context=getApplicationContext();
CharSequence text=c.getString(c.getColumnIndexOrThrow(“类型”)).toString();
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
适配器=新阵列适配器(此,R.layout.incomming,R.id.message,sms_body);
低压设置适配器(适配器);
}否则{
适配器=新阵列适配器(此,R.layout.outgoing,R.id.message,sms_body);
低压设置适配器(适配器);
}
这在很大程度上是可行的,但它只选择了一个,所以我的问题是如何使用传入布局或发送布局正确追加,这是我第一次使用ListView获得这种“花式”,因此非常感谢任何帮助!谢谢

问题:
我的意思是,我希望它看起来像iOS messenger,或者更好的是Facebook messenger,比如如果它是一条收件箱消息,它是蓝色的,如果它是我的,它的灰色布局

额外信息: 它获取收件箱中所有的邮件,并发送到刚才发短信给你的号码。任何其他你需要的信息让我知道

完整代码:


Fusion.

当前您正在更改ListView布局,这不是为ListView行显示多个布局的正确方式:

1。创建一个自定义适配器,该适配器对行使用两种布局,一种用于收件箱,另一种用于我的邮件

请参见以下示例:

2.使用带有自定义类对象的ArrayList作为包含消息类型和消息正文的数据源

public class MessageDetails{
 private String mesgType;
 private String mesgBody;
 // create getter/setter methods to set/get both variables values

}
3.使用
MessageDetails
类对象创建一个ArrayList:

ArrayList<MessageDetails>  arrMessageDetails=new ArrayList<MessageDetails>;
if (c.moveToLast()) {
 do {
       if (c.getString(c.getColumnIndexOrThrow("address")) == null) {
            c.moveToNext();
            continue;
        }

 String Body = c.getString(c.getColumnIndexOrThrow("body"))
                            .toString();
 CharSequence text = c.getString(c.getColumnIndexOrThrow("type")).toString();
 MessageDetails object=new MessageDetails();
 object.setmesgType(text);
 object.setmesgBody(Body);
 arrMessageDetails.add(object);
} while (c.moveToPrevious());

你的问题不清楚我的意思是我想让它看起来像iOS messenger,或者更好的是Facebook messenger,比如如果它是一条收件箱消息,它是蓝色的,如果它是我的,它的灰色布局。然后将
消息
文本视图的颜色设置为xml的蓝色和灰色。它不是这样工作的。sms_body是一个数组,它不断使所有消息都变成一种颜色或另一种颜色。但是您使用两种布局
输入
输出
,然后您可以为这两种消息设置颜色
CustomAdapter adapter = new CustomAdapter(this,R.id.message, arrMessageDetails);
lv.setAdapter(adapter);