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