【发布时间】:2018-03-13 17:28:55
【问题描述】:
异构RecyclerView
你好朋友我有一个简单的疑问
我在这里添加 singleLineText
`addSingleLine.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String singleLineText = singleline.getText().toString();
if(singleLineText.length() != 0)
{
mAdapter.addItem(singleLineText,null);
mAdapter.notifyDataSetChanged();
Log.e(TAG,"adding single line text");
}
singleline.getText().clear();
}
});`
在这部分我添加了 MultiLineText
` addMultiLine.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String multiLineText = multiline.getText().toString();
String myList[] = multiLineText.split(",");
for(String item : myList)
{
mAdapter.addItem(null,item);
mAdapter.notifyDataSetChanged();
Log.e(TAG,"adding multi line text");
}
multiline.getText().clear();
}
});
}`
我的适配器部分代码:
` public void addItem(String singleLineText, String item) {
Model model = new Model();
if(item == null) {
model.setText1(singleLineText);
model.settingSingleLineText(true); // How to identify single line
}
else
{
model.setText2(item);
model.settingMultiLineText(true); // How to identify multiple line
}
modelList.add(model);
}`
GetViewType 方法:
` public int getItemViewType(int position) {
if (modelList.get(position).IfSingleLine() != null)
return VERTICAL;
else {
return HORIZONTAL;
}
}`
型号类代码sn-p:
private Boolean checkSingleLine = null;
public Boolean IfSingleLine()
{
return checkSingleLine;
}
public void settingSingleLineText(Boolean txt1)
{
checkSingleLine = txt1;
}
public void settingMultiLineText(Boolean txt2)
{
checkMultiLine = txt2;
}
` 问题:如何通过Model Class识别singleLineText和multiLineText??
【问题讨论】:
-
我不太明白你的问题。您想将“singleLineText”传递给您的适配器吗?
-
是的,这样我就可以在视图中正确显示我的文本@Sam
-
你的
verticallist已经有了。你还需要什么? -
当我添加新的
Text项目时,它们会与旧的文本项目一起添加并显示在TextView。请参考此链接 [i.stack.imgur.com/2dou1.png] -
你能添加你想要的样本输入和样本输出吗?还包括相关代码,这样更容易理解你到底想要什么。
标签: java android android-studio android-recyclerview