要在Airbnb Epoxy中显示简单的TextView,你需要创建一个简单的Epoxy模型来表示它。以下是一个示例代码:
首先,在你的项目中创建一个新的Epoxy模型类,例如SimpleTextViewEpoxyModel:
import com.airbnb.epoxy.EpoxyAttribute;
import com.airbnb.epoxy.EpoxyModel;
import com.airbnb.epoxy.EpoxyViewHolder;
import com.airbnb.epoxy.SimpleEpoxyModel;
import android.view.View;
import android.widget.TextView;
public class SimpleTextViewEpoxyModel extends EpoxyModel {
@EpoxyAttribute
CharSequence text;
@Override
protected int getDefaultLayout() {
return R.layout.item_simple_text_view;
}
@Override
public void bind(TextView view) {
view.setText(text);
}
}
接下来,在res/layout目录中创建一个名为item_simple_text_view.xml的布局文件,用于定义TextView的外观:
现在,你可以在你的EpoxyController中使用SimpleTextViewEpoxyModel来显示简单的TextView:
import com.airbnb.epoxy.EpoxyController;
public class MyEpoxyController extends EpoxyController {
private CharSequence text;
public void setText(CharSequence text) {
this.text = text;
requestModelBuild();
}
@Override
protected void buildModels() {
if (text != null) {
new SimpleTextViewEpoxyModel_()
.id("simpleTextView")
.text(text)
.addTo(this);
}
}
}
最后,在你的Activity或Fragment中使用MyEpoxyController来设置和显示数据:
public class MainActivity extends AppCompatActivity {
private MyEpoxyController epoxyController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
epoxyController = new MyEpoxyController();
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(epoxyController.getAdapter());
CharSequence text = "Hello, Epoxy!";
epoxyController.setText(text);
}
}
这样,你就可以在Airbnb Epoxy中显示简单的TextView了。