0
非常新的java和android,但我认为我需要一个布局inflater,我试图实现它,但失败了,我抹去了代码。Android适配器传递JSON对象数据?
我可以把对象插入到一个字符串数组,并使用ArrayAdapter
循环布局分配字符串到textView
所以ArrayAdapter
是有限
ListAdapter dribbbleFeedAdapter = new ArrayAdapter<String>(MainActivity.this, R.layout.feed_card, R.id.info_text, titleArr);
我所用的上下文中仅通过,布局,textView和字符串数组。
我想要做的是将图像和其他数据传递到该布局的视图。所以我的问题是如何构建适配器,以便我可以将对象的值分配给视图ID?
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// GET Json and use adapter ListView
Ion.with(this)
.load("http://api.dribbble.com/shots/everyone")
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
// SET Titles Array
List<String> titles = new ArrayList<String>();
// BUILD THE ARRAY
JsonArray shots = result.getAsJsonArray("shots");
for (int i = 0; i < shots.size(); i++) {
String title = shots.get(i).getAsJsonObject().get("title").getAsString();
titles.add(title);
}
String[] titleArr = new String[titles.size()];
titleArr = titles.toArray(titleArr);
// TODO: Put more data into the feed_card
//dribbbleImage.setImageResource(R.drawable.icon_1);
ListAdapter dribbbleFeedAdapter = new ArrayAdapter<String>(MainActivity.this,
R.layout.feed_card, R.id.info_text, titleArr);
ListView dribbbleDataListView = (ListView) findViewById(R.id.dribbbleFeedListView);
dribbbleDataListView.setAdapter(dribbbleFeedAdapter);
}
});
}
}
好,谢谢,这听起来是正确的,但我仍然试图找出我怎么能使用对象来填充视图,因此一些例子或提示将是巨大的。 –
你可以看看我的答案,我已经编辑它。 –