我想在android中創建列表視圖。我能夠使用靜態數據創建簡單的列表視圖。現在,我將資源文件夾中的json文件。然後我從json文件中讀取競爭並在列表視圖中顯示。它工作正常。如何在android中動態創建列?
我喜歡這個
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"
}
]}
我需要創建相等寬度的4柱(因爲有4個對象)。如果它是三比它顯示三列等寬。我們可以在android嗎?
任何想法..?
如何處理網格視圖?
你有沒有考慮一個GridView而不是ListView?或者更新,更靈活的ReyclerView? – Scott
好..如何使網格視圖?在 – user944513