Как решить ошибку, например java.lang.Throwable: setStateLocked?

Я разрабатываю приложение. В нем я использую listview. Когда я нажимаю на элемент списка, он должен перейти к следующему действию, то есть ProfileActivity2.java. Он отлично работает, но в этом ProfileActivty2 есть кнопка внизу, и когда я нажимаю на эту кнопку, мое приложение разбивается и останавливается на странице списка. И показывает ошибку java.lang.Throwable: setStateLocked в файле макета списка, т.е. At setContentView. Как решить эту ошибку?

//ProfileActivity2.java public class ProfileActivity2 extends AppCompatActivity { //Textview to show currently logged in user private TextView textView; private boolean loggedIn = false; Button btn; EditText edname,edaddress; TextView tvsname, tvsprice; NumberPicker numberPicker; TextView textview1,textview2; Integer temp; String pname, paddress, email, sname, sprice; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_profile1); //Initializing textview textView = (TextView) findViewById(R.id.textView); edname=(EditText)findViewById(R.id.ed_pname); edaddress=(EditText)findViewById(R.id.ed_add); tvsname=(TextView)findViewById(R.id.textView_name); tvsprice=(TextView)findViewById(R.id.textView2_price); btn=(Button)findViewById(R.id.button); Intent i = getIntent(); // getting attached intent data String name = i.getStringExtra("sname"); // displaying selected product name tvsname.setText(name); String price = i.getStringExtra("sprice"); // displaying selected product name tvsprice.setText(price); numberPicker = (NumberPicker)findViewById(R.id.numberpicker); numberPicker.setMinValue(0); numberPicker.setMaxValue(4); final int foo = Integer.parseInt(price); textview1 = (TextView)findViewById(R.id.textView1_amount); textview2 = (TextView)findViewById(R.id.textView_seats); // numberPicker.setValue(foo); numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { temp = newVal * foo; // textview1.setText("Selected Amount : " + temp); // textview2.setText("Selected Seats : " + newVal); textview1.setText(String.valueOf(temp)); textview2.setText(String.valueOf(newVal)); // textview1.setText(temp); // textview2.setText(newVal); } }); //Fetching email from shared preferences btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // submitForm(); // Intent intent = new Intent(ProfileActivity2.this, SpinnerActivity.class); // startActivity(intent); SharedPreferences sharedPreferences = getSharedPreferences(Config.SHARED_PREF_NAME, Context.MODE_PRIVATE); loggedIn = sharedPreferences.getBoolean(Config.LOGGEDIN_SHARED_PREF, false); String email = sharedPreferences.getString(Config.EMAIL_SHARED_PREF, "Not Available"); textView.setText(email); if(loggedIn){ submitForm(); Intent intent = new Intent(ProfileActivity2.this, SpinnerActivity.class); startActivity(intent); } } }); } private void submitForm() { // Submit your form here. your form is valid //Toast.makeText(this, "Submitting form...", Toast.LENGTH_LONG).show(); String pname = edname.getText().toString(); String paddress = edaddress.getText().toString(); String sname = textview1.getText().toString(); // String sname= String.valueOf(textview1.getText().toString()); String sprice= textview2.getText().toString(); // String sprice= String.valueOf(textview2.getText().toString()); String email= textView.getText().toString(); Toast.makeText(this, "Signing up...", Toast.LENGTH_SHORT).show(); new SignupActivity(this).execute(pname,paddress,sname,sprice,email); } } //SignupActivity public class SignupActivity extends AsyncTask<String, Void, String> { private Context context; Boolean error, success; public SignupActivity(Context context) { this.context = context; } protected void onPreExecute() { } @Override protected String doInBackground(String... arg0) { String pname = arg0[0]; String paddress = arg0[1]; String sname = arg0[2]; String sprice = arg0[3]; String email = arg0[4]; String link; String data; BufferedReader bufferedReader; String result; try { data = "?pname=" + URLEncoder.encode(pname, "UTF-8"); data += "&paddress=" + URLEncoder.encode(paddress, "UTF-8"); data += "&sname=" + URLEncoder.encode(sname, "UTF-8"); data += "&sprice=" + URLEncoder.encode(sprice, "UTF-8"); data += "&email=" + URLEncoder.encode(email, "UTF-8"); link = "http://example.in/Spinner/update.php" + data; URL url = new URL(link); HttpURLConnection con = (HttpURLConnection) url.openConnection(); bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream())); result = bufferedReader.readLine(); return result; } catch (Exception e) { // return new String("Exception: " + e.getMessage()); // return null; } return null; } @Override protected void onPostExecute(String result) { String jsonStr = result; Log.e("TAG", jsonStr); if (jsonStr != null) { try { JSONObject jsonObj = new JSONObject(jsonStr); String query_result = jsonObj.getString("query_result"); if (query_result.equals("SUCCESS")) { Toast.makeText(context, "Success! Your are Now MangoAir User.", Toast.LENGTH_LONG).show(); } else if (query_result.equals("FAILURE")) { Toast.makeText(context, "Looks Like you already have Account with US.", Toast.LENGTH_LONG).show(); } } catch (JSONException e) { e.printStackTrace(); // Toast.makeText(context, "Error parsing JSON Please data Fill all the records.", Toast.LENGTH_SHORT).show(); // Toast.makeText(context, "Please LogIn", Toast.LENGTH_SHORT).show(); Toast.makeText(context, "Please Login", Toast.LENGTH_LONG).show(); } } else { Toast.makeText(context, "Grrr! Check your Internet Connection.", Toast.LENGTH_SHORT).show(); } } } //List_Search public class List_Search extends AppCompatActivity { JSONObject jsonobject; JSONArray jsonarray; ListView listview; ListViewAdapter adapter; ProgressDialog mProgressDialog; ArrayList<HashMap<String, String>> arraylist; static String SNAME = "sname"; static String SPRICE = "sprice"; Context ctx = this; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.list_search); new DownloadJSON().execute(); } // DownloadJSON AsyncTask private class DownloadJSON extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); // Create a progressdialog mProgressDialog = new ProgressDialog(List_Search.this); // Set progressdialog title mProgressDialog.setTitle("Android JSON Parse Tutorial"); // Set progressdialog message mProgressDialog.setMessage("Loading..."); mProgressDialog.setIndeterminate(false); // Show progressdialog mProgressDialog.show(); } @Override protected Void doInBackground(Void... params) { // Create an array arraylist = new ArrayList<HashMap<String, String>>(); // Retrieve JSON Objects from the given URL address jsonobject = JSONfunctions .getJSONfromURL("http://example.in/MangoAir_User/mangoair_reg/ListView1.php"); try { // Locate the array name in JSON jsonarray = jsonobject.getJSONArray("result"); for (int i = 0; i < jsonarray.length(); i++) { HashMap<String, String> map = new HashMap<String, String>(); jsonobject = jsonarray.getJSONObject(i); // Retrive JSON Objects map.put("sname", jsonobject.getString("sname")); map.put("sprice", jsonobject.getString("sprice")); // Set the JSON Objects into the array arraylist.add(map); } } catch (JSONException e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void args) { // Locate the listview in listview_main.xml listview = (ListView) findViewById(R.id.listView_search); // Pass the results into ListViewAdapter.java // adapter = new ListViewAdapter(List_Search.this, arraylist); adapter = new ListViewAdapter(ctx, arraylist); // Set the adapter to the ListView listview.setAdapter(adapter); // Close the progressdialog mProgressDialog.dismiss(); } } } //ListViewAdapter public class ListViewAdapter extends BaseAdapter { // Declare Variables Context context; LayoutInflater inflater; private boolean loggedIn = false; ArrayList<HashMap<String, String>> data; HashMap<String, String> resultp = new HashMap<String, String>(); public ListViewAdapter(Context context, ArrayList<HashMap<String, String>> arraylist) { this.context = context; data = arraylist; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } public View getView(final int position, View convertView, ViewGroup parent) { // Declare Variables TextView name,price; Button btn; inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.search_item, parent, false); // Get the position resultp = data.get(position); // Locate the TextViews in listview_item.xml name = (TextView) itemView.findViewById(R.id.textView8_sellernm); // Capture position and set results to the TextViews name.setText(resultp.get(List_Search.SNAME)); price = (TextView) itemView.findViewById(R.id.textView19_bprice); // Capture position and set results to the TextViews price.setText(resultp.get(List_Search.SPRICE)); btn=(Button)itemView.findViewById(R.id.button3_book); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { resultp = data.get(position); Intent intent = new Intent(context, ProfileActivity2.class); // Pass all data rank intent.putExtra("sname", resultp.get(List_Search.SNAME)); intent.putExtra("sprice", resultp.get(List_Search.SPRICE)); context.startActivity(intent); } }); return itemView; } } 

context.startActivity (намерение); Я думаю, что ошибка на этой строке внутри btn.setOnClickListener блока getview просто использует startActivity (намерение);