如何在android中动态创建列?

时间:2015-08-15 01:06:34

标签: android android-layout android-intent android-activity

我正在尝试在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中做吗?

任何想法..?

如何处理网格视图?

0 个答案:

没有答案