0

I am developing an android app which functions like as follows Admin creates the data and saves it into database then user access the same data through app when it comes down to showing the data to user i fetch the data from the database which admin has already saved i show the data in listview, and listview having buttons in each row when user click on button it dose not goes to next activity.When user will click on button in listview the activity should pass to next activity.How do i do this?

//java activity
public class MainActivity extends ActionBarActivity {

         String myJSON;
         SimpleAdapter adapter;
         Button btn;

         private static final String TAG_RESULTS = "result";
         private static final String TAG_NAME = "sname";
         private static final String TAG_PRICE = "sprice";

         JSONArray peoples = null;

         ArrayList<HashMap<String, String>> personList;
         // ArrayList<HashMap<String, String>> personList = new ArrayList<HashMap<String, String>>();

         ListView list, listView;

         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             list = (ListView) findViewById(R.id.listView_search);
             btn = (Button) findViewById(R.id.button3_book);

             personList = new ArrayList<HashMap<String, String>>();
             getData();

             // Listview on item click listener
             list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                 @Override
                 public void onItemClick(AdapterView<?> parent, View view,
                                         int position, long id) {

                     Intent zoom=new Intent(parent.getContext(), Details.class);
                     parent.getContext().startActivity(zoom);

                 }
             });

         }

        protected void showList(){
            try {
                JSONObject jsonObj = new JSONObject(myJSON);
                peoples = jsonObj.getJSONArray(TAG_RESULTS);

                for(int i=0;i<peoples.length();i++){
                    JSONObject c = peoples.getJSONObject(i);
                    String sname = c.getString(TAG_NAME);
                    String sprice = c.getString(TAG_PRICE);

                    HashMap<String,String> persons = new HashMap<String,String>();

                    persons.put(TAG_NAME,sname);
                    persons.put(TAG_PRICE,sprice);

                    personList.add(persons);
                }

                ListAdapter adapter = new SimpleAdapter(
                        MainActivity.this, personList, R.layout.search_item,
                        new String[]{TAG_NAME,TAG_PRICE},
                        new int[]{ R.id.textView8_sellernm, R.id.textView19_bprice}
                );

                list.setAdapter(adapter);
                list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        Intent i=new Intent(MainActivity.this,Details.class);
                        startActivity(i);
                    }
                });

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

        }

        public void getData(){
            class GetDataJSON extends AsyncTask<String, Void, String> {

                @Override
                protected String doInBackground(String... params) {
                    DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
                    HttpPost httppost = new HttpPost("http://example.com/User/reg/listview.php");

                    // Depends on your web service
                    httppost.setHeader("Content-type", "application/json");

                    InputStream inputStream = null;
                    String result = null;
                    try {
                        HttpResponse response = httpclient.execute(httppost);
                        HttpEntity entity = response.getEntity();

                        inputStream = entity.getContent();
                        // json is UTF-8 by default
                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
                        StringBuilder sb = new StringBuilder();

                        String line = null;
                        while ((line = reader.readLine()) != null)
                        {
                            sb.append(line + "\n");
                        }
                        result = sb.toString();
                    } catch (Exception e) {
                        // Oops
                    }
                    finally {
                        try{if(inputStream != null)inputStream.close();}catch(Exception squish){}
                    }
                    return result;
                }

                @Override
                protected void onPostExecute(String result){
                    myJSON=result;
                    showList();
                }
            }
            GetDataJSON g = new GetDataJSON();
            g.execute();
        }
    }  
Rohi
  • 13
  • 6
  • you have to code in custom adapter in getview method for button click – Vishal Thakkar Jul 30 '16 at 09:06
  • AFAIK you may have to create a custom adapter to implement this. You would be able to set action for each button in the list within the getview method. Refer: http://stackoverflow.com/questions/16076985/listview-row-buttons-how-do-i-create-a-custom-adapter-that-connects-a-view-oncl – Nakul Sudhakar Jul 30 '16 at 09:10
  • no I'm not using custom adapter – Rohi Aug 01 '16 at 04:28

0 Answers0