java改视图_java – 更改列表视图

我想在这个例子中使用自定义List适配器,这样我就可以获得getView()的好处

然后在列表视图中获取按钮的id.

这样我就可以从数据库中检索(name_id)学生作为带有删除按钮的列表.

我想实现删除,这样当用户点击删除时,它将获取学生的ID并从数据库中删除它.

如何在此处将适配器更改为自定义列表适配器?

我的代码如下:

public class ManageSection extends ListActivity {

//ProgresogressDialog pDialog;

private ProgressDialog pDialog;

// Creating JSON Parser object

// Creating JSON Parser object

JSONParser jParser = new JSONParser(); //class

boolean x =true;

ArrayList> studentList;

//url to get all products list

private static String url_all_student = "http://10.0.2.2/SmsPhp/view_student_info.php";

// JSON Node names

private static final String TAG_SUCCESS = "success";

private static final String TAG_student = "student";

private static final String TAG_StudentID = "StudentID";

private static final String TAG_StudentNo = "StudentNo";

private static final String TAG_FullName = "FullName";

// course JSONArray

JSONArray student = null;

private TextView mDateDisplay;

private int mYear;

private int mMonth;

private int mDay;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.manage_section);

mDateDisplay = (TextView) findViewById(R.id.day);

// add a click listener to the button

// get the current date

final Calendar c = Calendar.getInstance();

mYear = c.get(Calendar.YEAR);

mMonth = c.get(Calendar.MONTH);

mDay = c.get(Calendar.DAY_OF_MONTH);

mDateDisplay.setText(mDay+"-"+mMonth+"-"+mYear);

studentList = new ArrayList>();

// on seleting single course

// launching Edit course Screen

// on seleting single course

// launching Edit course Screen

new LoadAllstudent().execute();

}

/**

* Background Async Task to Load all student by making HTTP Request

* */

class LoadAllstudent extends AsyncTask

{

/**

* Before starting background thread Show Progress Dialog

* */

@Override

protected void onPreExecute() {

super.onPreExecute();

pDialog = new ProgressDialog(ManageSection.this);

pDialog.setMessage("Loading student. Please wait...");

pDialog.setIndeterminate(false);

}

/**

* getting All student from u r l

* */

@Override

protected String doInBackground(String... args) {

// Building Parameters

List params = new ArrayList();

// getting JSON string from URL

JSONObject json = jParser.makeHttpRequest(url_all_student, "GET", params);

// Check your log cat for JSON response

Log.d("All student : ", json.toString());

try {

// Checking for SUCCESS TAG

int success = json.getInt(TAG_SUCCESS);

if (success == 1)

{

// student found

// Getting Array of course

student = json.getJSONArray(TAG_student);

// looping through All courses

for (int i = 0; i < student.length(); i++)//course JSONArray

{

JSONObject c = student.getJSONObject(i); // read first

// Storing each json item in variable

String StudentID = c.getString(TAG_StudentID);

String StudentNo = c.getString(TAG_StudentNo);

String FullName = c.getString(TAG_FullName);

// creating new HashMap

HashMap map = new HashMap();

// adding each child node to HashMap key => value

map.put(TAG_StudentID, StudentID);

map.put(TAG_StudentNo, StudentNo);

map.put(TAG_FullName, FullName);

// adding HashList to ArrayList

studentList.add(map);

}

} else {

x=false;

}

} catch (JSONException e) {

e.printStackTrace();

}

return null;

}

/**

* After completing background task Dismiss the progress dialog

* **/

protected void onPostExecute(String file_url) {

// dismiss the dialog after getting all products

pDialog.dismiss();

if (x==false)

Toast.makeText(getBaseContext(),"no student" ,Toast.LENGTH_LONG).show();

ListAdapter adapter = new SimpleAdapter(

ManageSection.this, studentList,

R.layout.list_student, new String[] { TAG_StudentID,

TAG_StudentNo,TAG_FullName},

new int[] { R.id.StudentID, R.id.StudentNo,R.id.FullName});

setListAdapter(adapter);

// Updating parsed JSON data into ListView

}

}

}

请注意,如果有一种简单的方法而不更改适配器,我可以为每个按钮创建一个id.

因为我听说我必须使用自定义列表适配器…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值