这是我的parsejson类
public class ParseJSON {
public static String[] names;public static String[] lastname;
public static String[] dob;
public static String[] address;public static String[] contact1;
public static String[] contact2;
public static String[] email;public static String[] tech;
public static String[] skills;
public static String[] status;
public static String[] appointdate;
public static String[] joiningdate;
public static String[] e_code;
public static String[] e_salary;
public static String[] qualification;
public static String[] b_name;
public static String[] b_branch;
public static String[] b_city;
public static String[] b_acount_no;
public static String[] b_ifsc;
public static String[] remarks;
public static final String JSON_ARRAY = "info";
public static final String KEY_NAME = "name";
public static final String KEY_LASTNAME = "lastname";
public static final String KEY_DOB = "dob";
public static final String KEY_ADDRESS = "address";
public static final String KEY_CONTACT1 = "contactno1";
public static final String KEY_CONTACT2 = "contactno2";
public static final String KEY_EMAIL = "email";
public static final String KEY_TECHNOLOGY = "technology";
public static final String KEY_SKILLS = "skills";
public static final String KEY_STATUS = "status";
public static final String KEY_APPOINTMENTDATE = "appointmentdate";
public static final String KEY_JOINNINGDATE = "joiningdate";
public static final String KEY_E_CODE = "employeecode";
public static final String KEY_E_SALARY = "employeesalary";
public static final String KEY_QUALIFICATION = "qualification";
public static final String KEY_BANK_NAME = "bankname";
public static final String KEY_BANK_BRANCH = "bankbranch";
public static final String KEY_BANK_CITY = "bankcity";
public static final String KEY_BANK_ACCOUNT_NO = "bankaccountnumber";
public static final String KEY_BANK_IFSC = "bankifsccode";
public static final String KEY_REMARKS = "remarks";
private String json;
public ParseJSON(String json){
this.json = json;
}
public void parseJSON(){
JSONArray users = null;
JSONObject jsonObject=null;
try {
jsonObject = new JSONObject(json);
users = jsonObject.getJSONArray(JSON_ARRAY);
names = new String[users.length()];
lastname = new String[users.length()];
dob = new String[users.length()];
address = new String[users.length()];
contact1 = new String[users.length()];
contact2 = new String[users.length()];
email = new String[users.length()];
tech = new String[users.length()];
skills = new String[users.length()];
status = new String[users.length()];
appointdate = new String[users.length()];
joiningdate = new String[users.length()];
e_code = new String[users.length()];
e_salary = new String[users.length()];
qualification = new String[users.length()];
b_name = new String[users.length()];
b_branch = new String[users.length()];
b_city = new String[users.length()];
b_acount_no = new String[users.length()];
b_ifsc = new String[users.length()];
remarks = new String[users.length()];
for(int i=0;i<users.length();i++){
JSONObject jo = users.getJSONObject(i);
names[i] = jo.getString(KEY_NAME);
lastname[i] = jo.getString(KEY_LASTNAME);
dob[i] = jo.getString(KEY_DOB);
address[i] = jo.getString(KEY_ADDRESS);
status[i] = jo.getString(KEY_STATUS);
contact1[i] = jo.getString(KEY_CONTACT1);
contact2[i] = jo.getString(KEY_CONTACT2);
email[i] = jo.getString(KEY_EMAIL);
tech[i] = jo.getString(KEY_TECHNOLOGY);
skills[i] = jo.getString(KEY_SKILLS);
appointdate[i] = jo.getString(KEY_APPOINTMENTDATE);
joiningdate[i] = jo.getString(KEY_JOINNINGDATE);
e_code[i] = jo.getString(KEY_E_CODE);
e_salary[i] = jo.getString(KEY_E_SALARY);
qualification[i] = jo.getString(KEY_QUALIFICATION);
b_name[i] = jo.getString(KEY_BANK_NAME);
b_branch[i] = jo.getString(KEY_BANK_BRANCH);
b_city[i] = jo.getString(KEY_BANK_CITY);
b_acount_no[i]jo.getString(KEY_BANK_ACCOUNT_NO);
b_ifsc[i] = jo.getString(KEY_BANK_IFSC);
remarks[i] = jo.getString(KEY_REMARKS);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
这是我的自定义适配器
public class CustomList extends ArrayAdapter<String>{
private String[] names;
private String[] image;
private Activity context;
public CustomList(Activity context, String[] names) {
super(context, R.layout.employ_list_layout, names);
this.context = context;
this.names = names;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.employ_list_layout, null, true);
TextView textViewName = (TextView) listViewItem.findViewById(R.id.txtVwName);
textViewName.setText(" "+names[position]);
return listViewItem;
}
}
这是MainActivity
public class EmployeActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
ImageLoader mImageLoader;
public static final String JSON_URL = "http://ssvsoft.in/shiftsystem/webservice/userdetails.php";
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_employe);
listView = (ListView) findViewById(R.id.lstVw);
// button = (Button)findViewById(R.id.btn);
sendRequest();
listView.setOnItemClickListener(this);
}
private void sendRequest(){
StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
int status = object.getInt("status");
if (status==1){
showJSON(response);
}else {
Toast.makeText(EmployeActivity.this, "Data is Empty", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(EmployeActivity.this,"Time out",Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String json){
ParseJSON pj = new ParseJSON(json);
pj.parseJSON();
CustomList cl = new CustomList(this,ParseJSON.names);
listView.setAdapter(cl);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(EmployeActivity.this,GetEmployDetail.class);
intent.putExtra("position",position);
intent.putExtra("name",ParseJSON.names);
intent.putExtra("lastname",ParseJSON.lastname);
intent.putExtra("dob",ParseJSON.dob);
intent.putExtra("status",ParseJSON.status);
intent.putExtra("address", ParseJSON.address);
intent.putExtra("contact1", ParseJSON.contact1);
intent.putExtra("contact2", ParseJSON.contact2);
intent.putExtra("email", ParseJSON.email);
intent.putExtra("appointdate", ParseJSON.appointdate);
intent.putExtra("joiningdate", ParseJSON.joiningdate);
intent.putExtra("e_code", ParseJSON.e_code);
intent.putExtra("e_salary", ParseJSON.e_salary);
intent.putExtra("tech", ParseJSON.tech);
intent.putExtra("skills", ParseJSON.skills);
intent.putExtra("quali", ParseJSON.qualification);
intent.putExtra("bname", ParseJSON.b_name);
intent.putExtra("bbranch", ParseJSON.b_branch);
intent.putExtra("bcity", ParseJSON.b_city);
intent.putExtra("baccount", ParseJSON.b_acount_no);
intent.putExtra("bifsc", ParseJSON.b_ifsc);
startActivity(intent);
}
@Override
public void onBackPressed() {
//Display alert message when back button has been pressed
finish();
}
}
答案 0 :(得分:1)
将URL的[String]发送到CustomList Adapter。将imageView添加到CustomList布局(employ_list_layout)。建议使用Picasso,GLide,aQuery从网址加载图片。以下是CustomList Adapter的修订代码。
private String[] names;
private String[] image;
private Activity context;
public CustomList(Activity context, String[] names, String[] image)
{
super(context, R.layout.employ_list_layout, names, image);
this.context = context;
this.names = names;
this.image = image;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.employ_list_layout, null, true);
TextView textViewName = (TextView)listViewItem.findViewById(R.id.txtVwName);
textViewName.setText(" "+names[position]);
ImageView ivName = (ImageView)listViewItem.findViewById(R.id.imgVwName);
Picasso.with(context)
.load(image[position])
.into(ivName);
return listViewItem;
}
在build.gradle(app)中,将以下行添加到dependency {}标记中:
compile 'com.squareup.picasso:picasso:2.4.0'
然后同步并运行您的应用。希望这会有所帮助。
答案 1 :(得分:0)
public AdapterContact(Context context, List<User> contactsList) {
this.context = context;
this.contactsList = contactsList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.notice_demo, null);
TextView en = (TextView) convertView.findViewById(R.id.tv2);
ImageView imageView= (ImageView) convertView.findViewById(R.id.notimg);
User contacts = contactsList.get(position);
en.setText(contacts.not1);
Picasso.with(context).load(Server.noticeimagepath)
.placeholder(context.getResources().getDrawable(R.drawable.ic_launcher))
.error(context.getResources().getDrawable(R.drawable.abc)).into(imageView);
return convertView;
}
试试这个。