2016-08-10 9 views
5

Bir uygulama geliştiriyorum. İçinde bir liste görünümü kullanıyorum. Liste öğesini tıkladığımda, sonraki aktiviteye, yani ProfileActivity2.java'ya gitmelidir. İyi çalışıyor, ancak bu ProfileActivty2'de altta bir düğme var ve bu düğmeyi tıkladığımda benim app çöktü ve liste görünümünde durdu. Ve java.lang.Throwable hatası gösterir: setSoutLocked liste görünümü düzen dosyasında i.e setContentView. Bu hatayı nasıl çözebilirim?java.lang.Throwable gibi hatayı nasıl çözebilirim: setStateLocked?

//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; 
     } 
    } 
+0

kullanmak iç hata bu çizgide olduğunu düşünüyorum. –

+0

08-10 Ekim: 55: 21,837 23.735-23.735/com.example.user.sessiondemo D/AccessibilityManager: setStateLocked: = yanlış mIsHighTextContrastEnabled, wasEnabled = false mIsEnabled = doğru mu, wasTouchExplorationEnabled = kapalı, mIsTouchExplorationEnabled = kapalı, wasHighTextContrastEnabled = yanlış java.lang.Throwable: setStateLocked – rohiH

+0

com.example.user.sessiondemo.List_Search.onCreate (List_Search.java:37) – rohiH

cevap

3
context.startActivity(intent); 

Ben GetView bloğunun btn.setOnClickListener sadece hatayı yapıştırın startActivity(intent);

İlgili konular