mardi 18 octobre 2016

Button in Listview in Android. My items in listview is from php mysql database

I don't know where will i call the buttons. What should i do to have a function in buttons. The process that i need is like this, when you click the button in will get the item and save it to other table and get the current datetime also.

public class ViewBusFiveStudent extends AppCompatActivity implements ListView.OnItemClickListener {

private ListView listView;
private Button btntime;

private String JSON_STRING;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_busfour);
    listView = (ListView) findViewById(R.id.listView);
    listView.setOnItemClickListener(this);

    getJSON();
}


private void showStudents(){
    JSONObject jsonObject = null;
    ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String, String>>();
    try {
        jsonObject = new JSONObject(JSON_STRING);
        JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY);

        for(int i = 0; i<result.length(); i++){
            JSONObject jo = result.getJSONObject(i);
            String id = jo.getString(Config.TAG_ID);
            String name = jo.getString(Config.TAG_NAME);

            HashMap<String,String> student = new HashMap<>();
            student.put(Config.TAG_ID,id);
            student.put(Config.TAG_NAME,name);
            list.add(student);
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

    ListAdapter adapter = new SimpleAdapter(
            ViewBusFiveStudent.this, list, R.layout.list_items,
            new String[]{Config.TAG_ID,Config.TAG_NAME},
            new int[]{R.id.id, R.id.name});

    listView.setAdapter(adapter);
}

private void getJSON(){
    class GetJSON extends AsyncTask<Void,Void,String>{

        ProgressDialog loading;
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            loading = ProgressDialog.show(ViewBusFiveStudent.this,"Fetching Data","Wait...",false,false);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();
            JSON_STRING = s;
            showStudents();
        }

        @Override
        protected String doInBackground(Void... params) {
            RequestHandler rh = new RequestHandler();
            String s = rh.sendGetRequest(Config.URL_GET_BUS_FOUR);
            return s;
        }
    }
    GetJSON gj = new GetJSON();
    gj.execute();
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Intent intent = new Intent(this, ViewBusFive.class);
    HashMap<String,String> map =(HashMap)parent.getItemAtPosition(position);
    String studId = map.get(Config.TAG_ID).toString();
    intent.putExtra(Config.STUD_ID,studId);
    startActivity(intent);
}

}

Here's my list_view:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://ift.tt/nIICcg"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<TextView
    android:id="@+id/id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/id"/>

    <CheckBox
        android:id="@+id/checkBoxPres"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:text=""
        android:layout_alignBaseline="@+id/btnTime"
        android:layout_alignBottom="@+id/btnTime"
        android:layout_toLeftOf="@+id/btnTime"
        android:layout_toStartOf="@+id/btnTime" />

    <Button
        android:text="TimeStamp"
        android:layout_width="105dp"
        android:layout_alignParentRight="true"
        android:layout_height="wrap_content"
        android:id="@+id/btnTime" />

</RelativeLayout>

I just want to know how to put the function of the button and where can i place it. Thanks in ADVANCE!




Aucun commentaire:

Enregistrer un commentaire