【发布时间】:2015-11-08 07:51:46
【问题描述】:
我正在尝试在 android 中制作列表视图。我能够使用静态数据制作简单的列表视图。现在我在资产文件夹中获取 json 文件。然后我从 json 文件中读取竞争并显示在列表视图中。它工作正常。
我喜欢这个
public class MainActivity extends Activity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list_view);
Log.d("==", loadJSONFromAsset());
String arr[];
try {
JSONArray js = new JSONArray(loadJSONFromAsset());
arr = new String[js.length()];
for (int i = 0; i < js.length(); i++) {
JSONObject obj = js.getJSONObject(i);
arr[i] = obj.getString("name");
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr);
listView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("data.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
}
一切正常 但我需要做不同的任务。我需要从资产文件夹中读取 json 文件。并创建与 json 数组中相同数量的列
这是新的 json 文件
{"coulmns":[
{
"name": "Test_1"
},
{
"name": "Test_2"
},
{
"name": "Test_3"
},
{
"name": "Test_4"
}
]}
我需要创建四列等宽(因为有四个对象)。如果是三比它显示三列等宽。我们可以在android中做吗?
任何想法..?
如何处理网格视图?
【问题讨论】:
-
您是否考虑过使用 GridView 而不是 ListView?还是更新、更灵活的 ReyclerView?
-
ok ..如何制作网格视图?在
标签: android android-layout android-intent android-activity