I want to display a list of member from a JSON file. Member information like Name, Location, Contact number, image etc. All information is showing fine but Member Image is not showing. Here is given the necessary file and coding for your checking.
JSON file
{"names":[
{
"serialno":"1. ",
"memberimage":"@drawable/tojib",
"membername":"শেখ তজিবুল ইসলাম",
"farmacyname":"Farmacy1",
"mobileno":"01942717067",
"address":"Digholia, Lohagara, Narial"
},
{
"serialno":"2. ",
"memberimage":"@drawable/tojib",
"membername":"শেখ তজিবুল ইসলাম",
"farmacyname":"Farmacy2",
"mobileno":"01823987654",
"address":"Kumri, Lohagara, Narial"
},
{
"serialno":"3. ",
"memberimage":"@drawable/tojib",
"membername":"শেখ তজিবুল ইসলাম",
"farmacyname":"Farmacy3",
"mobileno":"01782345678",
"address":"Baira, Lohagara, Narial"
},
{
"serialno":"4. ",
"memberimage":"@drawable/tojib",
"membername":"শেখ তজিবুল ইসলাম",
"farmacyname":"Farmacy4",
"mobileno":"01943876543",
"address":"Lutia, Lohagara, Narial"
}
]
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolBarId);
setSupportActionBar(toolbar);
listview=findViewById(R.id.listViewId);
try {
JSONObject jsonObject=new JSONObject(loadJsonFile());
JSONArray jsonArray=jsonObject.getJSONArray("names");
HashMap<String,String> listItem;
ArrayList<HashMap<String,String>> listItems=new ArrayList<>();
for(int i=0; i<jsonArray.length();i++)
{
JSONObject obj=jsonArray.getJSONObject(i);
String serialno=obj.getString("serialno");
String memberimage=obj.getString("memberimage");
String farmacyname=obj.getString("farmacyname");
String membername=obj.getString("membername");
String mobileno=obj.getString("mobileno");
String address=obj.getString("address");
listItem=new HashMap<>();
listItem.put("serialno",serialno);
listItem.put("memberimage",memberimage);
listItem.put("farmacyname",farmacyname);
listItem.put("membername",membername);
listItem.put("mobileno",mobileno);
listItem.put("address",address);
listItems.add(listItem);
}
ListAdapter adapter=new SimpleAdapter(this,listItems,R.layout.main_list_item_layout,
new String[]{"serialno","memberimage","membername","farmacyname","mobileno","address"},
new int[]{R.id.serialTextViewId,R.id.imageViewId,R.id.nameTextViewId,
R.id.shopNameTextViewId,R.id.mobileNoTextViewId,R.id.addressTextViewId});
listview.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String loadJsonFile() throws IOException {
String json=null;
InputStream inputStream=this.getAssets().open("member.json");
int size=inputStream.available();
byte[] byteArray=new byte[size];
inputStream.read(byteArray);
inputStream.close();
json=new String(byteArray, "UTF-8");
return json;
}
}
Problem: The image is not showing in list. Other information is showing good but Image is blank. Can anyone please help me if I do mistake anywhere.