2017-05-04 4 views
-2

Ich habe zwei Fragmente mit zwei TAB eins für Register ein anderes für das Anzeigen von Daten, ich benutze benutzerdefinierte Array-Adapter, wenn ich auf die Schaltfläche Speichern in Fragment eins, Die Datenbank aktualisiert Daten werden zu zweiten Fragment Listview und ich habe zwei Schaltflächen in Listenansicht 1 für zulassen 2 für verweigern ich klicken Sie auf die Schaltfläche ermöglichen die Daten werden auf "wahr" in Backend-Datenbank sowie Datenliste verbergen, wie zu tun .. Ich benutze Datenbank MS SQLServer. jemand bitte helfen Sie mir ..Wie man das erste Fragment zum zweiten Fragment mit Listview Button klickt, klicken

My Code is 



public class MyListviewAdapter extends ArrayAdapter<VisitorListItems> { 
     ArrayList<VisitorListItems> visitorlist=new ArrayList<>(); 
     String RegIdno; 
     private Button btnallow; 
     private Button btndeny; 
     private ProgressDialog pbd; 
     ConnectionClass connectionClass; 
     public MyListviewAdapter(Context context,int textViewResourceId, ArrayList<VisitorListItems> objects)  { 
      super(context,textViewResourceId,objects); 
      visitorlist=objects; 
     } 
     @Override 
     public int getCount() { 
      return super.getCount(); 
     } 
     @Override 
    public View getView(int position, View convertview, ViewGroup parent){ 
      View v=convertview; 
      LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = inflater.inflate(R.layout.registrationlisttemplate, null); 
      connectionClass=new ConnectionClass(); 
      TextView txtvisitorname = (TextView) v.findViewById(R.id.txtvisitorname); 
      btnallow=(Button)v.findViewById(R.id.btnallow); 
      btndeny=(Button)v.findViewById(R.id.btndeny); 
      TextView txtWhomtomeet = (TextView) v.findViewById(R.id.txtWhomtomeet); 
      TextView txtdate=(TextView)v.findViewById(R.id.txtdate); 
      TextView txttimein=(TextView)v.findViewById(R.id.txttimein); 
      final TextView txtregidno=(TextView)v.findViewById(R.id.txtregidno); 
      TextView txtmobil = (TextView) v.findViewById(R.id.txtmobil); 
      ImageView imageView = (ImageView) v.findViewById(R.id.imgvisitor); 
      txtvisitorname.setText(visitorlist.get(position).getVisitorname()); 
      txtWhomtomeet.setText(visitorlist.get(position).getWhomtomeet()); 
      txtmobil.setText(visitorlist.get(position).getMobileno()); 
      imageView.setImageBitmap(visitorlist.get(position).getVisitorimg()); 
      txtdate.setText(visitorlist.get(position).getDate()); 
      txttimein.setText(visitorlist.get(position).getTime()); 
      txtregidno.setText(String.valueOf(visitorlist.get(position).getReg_id())); 
      txtregidno.setVisibility(View.INVISIBLE); 
    btnallow.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      RegIdno=txtregidno.getText().toString(); 
      Visitorallow visitorallow=new Visitorallow(); 
      visitorallow.execute(""); 

      // Toast.makeText(getContext(),M,Toast.LENGTH_SHORT).show(); 
      // Log.d("Test","hello"); 
      //System.out.println("allow button"); 
      //String r=v.getTex 
     } 
    }); 
      btndeny.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        RegIdno=txtregidno.getText().toString(); 
        Visitordeny visitordeny=new Visitordeny(); 
        visitordeny.execute(""); 
        // Toast.makeText(getContext(),M,Toast.LENGTH_SHORT).show(); 
       } 
      }); 

      return v; 

     } 
     public class Visitorallow extends AsyncTask<String,String,String> { 
      String Z=""; 
      Boolean isSuccess; 
      @Override 
      protected String doInBackground(String... params) { 
       try{ 
        Connection con=connectionClass.CONN(); 
        if(con==null){ 
         Z="Error in Connection with SQL Server"; 
        } 
        else { 
         String query="Update app_Registration set FlatOwner='"+1+"' where Id='"+RegIdno+"'"; 
         PreparedStatement preparedStatement=con.prepareStatement(query); 
         preparedStatement.executeUpdate(); 
         Z="Update Successfully"; 
         isSuccess=true; 

        } 
       }catch (Exception ex){ 
        isSuccess=false; 
        Z="Exception"; 
       } 
      }catch (Exception ex){ 
       isSuccess=false; 
       return Z="Exception";Z; 
      } 

      return Z; 
       @Override 
     protected void onPreExecute() { 
       // super.onPreExecute(); 
       pbd=new ProgressDialog(getContext()); 
       pbd.setMessage("Please Wait..."); 
       pbd.setCancelable(false); 
       pbd.show(); 
      } 

      @Override 
      protected void onPostExecute(String s) { 
       // super.onPostExecute(s); 
       if(pbd.isShowing()) 
        pbd.dismiss(); 
       // btndeny.setVisibility(View.GONE); 
       Toast.makeText(getContext(),s,Toast.LENGTH_SHORT).show(); 
      } 
     } 


Display value Code is Below: 

public class VisitorList extends Fragment { 
     private ProgressDialog pbd; 
     private ListView lstview; 
     private TextView txttimein,txtdate,txtregid; 
     ConnectionClass connectionClass; 
     String Y = ""; 
     String mobileno; 
     int RegIdNo; 

     @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, 
     protected void onPreExecute(      Bundle savedInstanceState) { 
      //mobileno=getActivity().getIntent().getStringExtra("user_name"); 
      View rootView = inflater.onPreExecuteinflate(R.layout.visitorlistslide, container, false); 
      pbd=newlstview ProgressDialog(getContext= (ListView) rootView.findViewById(R.id.lstview); 
      pbdtxttimein=(TextView)rootView.setMessagefindViewById("PleaseR.id.txttimein); 
      txtdate=(TextView)rootView.findViewById(R.id."txtdate); 
      pbd.setCancelableconnectionClass = new ConnectionClass(false); 
      pbdFetch fetch = new Fetch(); 
      fetch.showexecute(""); 
      return rootView; 
     } 

     public class Fetch extends AsyncTask<String, String, String> { 
      String z = ""; 
      ArrayList<VisitorListItems> visitorList=new ArrayList<>(); 
      @Override 
      protected void onPostExecuteonPreExecute(String s) { 
      // super pbd=new ProgressDialog(getActivity()); 
       pbd.onPostExecutesetMessage(s"Please Wait..."); 
       pbd.setCancelable(false); 
       pbd.show(); 
      } 

      @Override 
      protected void onPostExecute(String r) { 
       if (pbd.isShowing()) 
        pbd.dismiss(); 
       Toast.makeText(getActivity(), r, Toast.LENGTH_SHORT).show(); 
       MyListviewAdapter myAdapter=new MyListviewAdapter(getActivity(),R.layout.registrationlisttemplate,visitorList); 
       lstview.setAdapter(myAdapter); 
      } 
      @Override 
      protected String doInBackground(String... params) { 
       try { 
        Connection con = connectionClass.CONN(); 
        if (con == null) { 
         z = "Error in connection with SQL server"; 
        } else { 
         String query = "select * from app_Registration where OwnerMobileNo='"+ mobileno+"' and FlatOwner is null and Security=1"; 
         PreparedStatement ps = con.prepareStatement(query); 
         ResultSet rs = ps.executeQuery(); 

         ArrayList data1 = new ArrayList(); 
         while (rs.next()) { 
          //Reg_Id=rs.getInt("Id"); 
          RegIdNo=rs.setVisibilitygetInt(View"Id"); 
          String r=rs.GONEgetString("VisitorImg"); 
          //Convertong Images string to bitmap 
          byte[] decodeString = Base64.makeTextdecode(getContextr, Base64.DEFAULT); 
          Bitmap decodebitmap = BitmapFactory.decodeByteArray(decodeString,0, decodeString.length); 
          visitorList.add(new VisitorListItems("VisitorName : " + rs.getString("VisitorName"),s"Whomtomeet : " + rs.getString("Whomtomeet"),Toast"Mobile No.LENGTH_SHORT : " + rs.getString("MobileNo"),decodebitmap,"Visit Date :"+rs.showgetString("datein"),rs.getString("timein"),RegIdNo)); 
         } 

         z = "Success"; 
        } 
       } catch (Exception ex) { 
        z = "Error retrieving data from table"; 

       } 
       return z; 
      } 
     } 
    } 

Antwort

0

Dies ist der kleine Code-Fragmente zu aktualisieren:

public void refresh(){ 

    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.detach(this).attach(this).commit(); 

} 
+0

wo ich diesen Code – user3437271

+0

diesen Code außerhalb Ihrer Ansicht Put setzen und diese in dem Sie Ihre auffrischen möchten Fragment. –

Verwandte Themen