2016-05-27 6 views
-2

Warum Fortschrittsbalken angezeigt werden, bevor ich auf die Schaltfläche klicken, um PDF zu erstellen? Ich hoffe, dass Sie mir helfen können!Fortschrittsbalken erscheint vor dem ich auf die Schaltfläche klicken, um PDF zu erstellen

Ich möchte, dass Fortschrittsbalken bei der Erstellung PDF-Datei ...

Dank fortschrittlicher JEDEN erscheinen !!!!!!!!!!!!!!!!!!!!!

public class TwoFragment extends android.support.v4.app.Fragment { 

    private View v; 
    Intent chooser=null; 
    String myInt=""; 
    String ciao=""; 
    private String string=""; 
    private ProgressBar pdfProgress; 

    public TwoFragment() { 
     // Required empty public constructor 
    } 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 

     View rootView = inflater.inflate(R.layout.fragment_two, container, false); 



     Button mButton = (Button) rootView.findViewById(R.id.newbutton); 
     mButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       //sendemail(); 
       pdfProgress.setVisibility(View.VISIBLE); 
       createPDF(); 
       pdfProgress.setVisibility(View.GONE); 
       viewPDF(); 



      } 
     }); 
     TextView titolo3 = (TextView)rootView.findViewById(R.id.result); 
     TextView titolo2 = (TextView)rootView.findViewById(R.id.result2); 
     TextView titolo4 = (TextView)rootView.findViewById(R.id.resultpizze); 
     pdfProgress = (ProgressBar)rootView.findViewById(R.id.progressbar); 
     //pdfProgress.setVisibility(View.GONE); 


     //TextView titolo = (TextView)rootView.findViewById(R.id.quantità3); 


    Bundle bundle2=getArguments(); 
     if(bundle2 != null){ 
      string = bundle2.getString("scelta2"); 
      titolo3.setText(string); 

     } 

    /* Bundle bundle2=getArguments(); 
     if(bundle2 != null){ 
      // myInt = bundle2.getString("scelta2",myInt); 
      cacca=bundle2.getString("result",null); 

      //cacca=myInt; 
      // Log.d("ciao",cacca); 
      titolo3.setText(cacca); 
     }*/ 

     //titolo3.setText(myInt); 


    /* Bundle bundle3=getArguments(); 
     if(bundle3 != null){ 
      // String myInt3 = bundle3.getString("totalebirre", null); 
      // cazzo2=Integer.parseInt(myInt3); 
      int cazzo2=bundle3.getInt("totalebirre"); 
      titolo2.setText(String.valueOf(cazzo2)); 



     } 
     Bundle bundle=getArguments(); 
     if(bundle != null){ 
      // String myInt2 = bundle2.getString("totalepizze", null); 
      // cazzo=Integer.parseInt(myInt2); 
      //titolo2.setText(myInt2); 
      String string=bundle.getString("scelta3", null); 
      titolo4.setText(string); 

     } 
*/ 


     return rootView; 
    } 


/* public void sendemail(){ 

     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setData(Uri.parse("mailto:")); 
     String[] to={"marco_marcol[email protected]"}; 
     intent.putExtra(Intent.EXTRA_EMAIL,to); 
     intent.putExtra(Intent.EXTRA_SUBJECT, "ciao"); 
     intent.putExtra(Intent.EXTRA_TEXT, "zao"); 
     intent.setType("message/rfc822"); 
     chooser=intent.createChooser(intent,"manda email"); 
     startActivity(chooser); 
    }*/ 

    //@TargetApi(Build.VERSION_CODES.M) 
    public void createPDF() { 

     Document doc = new Document(); 

     try { 
      String path = Environment.getExternalStorageDirectory() 
        .getAbsolutePath() + "/droidText"; 

      File dir = new File(path); 
      if (!dir.exists()) 
       dir.mkdirs(); 

      Log.d("PDFCreator", "PDF Path: " + path); 

      //File file = new File(dir, "sample.pdf"); 
      File file = new File(dir, "salve.pdf"); 

      FileOutputStream fOut = new FileOutputStream(file); 

      PdfWriter.getInstance(doc, fOut); 

      // open the document 
      doc.open(); 
      ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
      Bitmap bitmap = BitmapFactory.decodeResource(getContext() 
        .getResources(), R.drawable.androtuto); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
      Image myImg = Image.getInstance(stream.toByteArray()); 
      myImg.setAlignment(Image.MIDDLE); 

      // add image to document 
      doc.add(myImg); 
      Paragraph p1 = new Paragraph(string); 
      Font paraFont = new Font(Font.COURIER); 
      p1.setAlignment(Paragraph.ALIGN_CENTER); 
      p1.setFont(paraFont); 




      // add paragraph to document 
      doc.add(p1); 

      Paragraph p2 = new Paragraph("Bonjour Android Tuto"); 

      Font paraFont2 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p2.setAlignment(Paragraph.ALIGN_CENTER); 
      p2.setFont(paraFont2); 

      doc.add(p2); 


      stream = new ByteArrayOutputStream(); 
      bitmap = BitmapFactory.decodeResource(getContext() 
        .getResources(), R.drawable.android); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
      myImg = Image.getInstance(stream.toByteArray()); 
      myImg.setAlignment(Image.MIDDLE); 

      // add image to document 
      doc.add(myImg); 

      // set footer 
      Phrase footerText = new Phrase("Pied de page "); 
      HeaderFooter pdfFooter = new HeaderFooter(footerText, false); 
      doc.setFooter(pdfFooter); 

     } catch (DocumentException de) { 
      // Log.e("PDFCreator", "DocumentException:" + de); 
      Log.e("PDFCreator", "DocumentException:" + de.getMessage()); 
     } catch (IOException e) { 
     // Log.e("PDFCreator", "ioException:" + e); 
      Log.e("PDFCreator", "DocumentException:" + e.getMessage()); 


     } finally { 
      doc.close(); 
     } 

    } 
    public void viewPDF(){ 
     String path = "/sdcard/droidText/salve.pdf"; 

     File targetFile = new File(path); 
     Uri targetUri = Uri.fromFile(targetFile); 

     Intent intent; 
     intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(targetUri, "application/pdf"); 

     startActivity(intent); 
    } 

} 

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin"> 
    <ProgressBar 
     android:id="@+id/progressbar" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="gone" 
     android:layout_centerInParent="true" 
     /> 
    <ScrollView 
     android:id="@+id/scrollView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 

     android:layout_centerHorizontal="true" > 

    <LinearLayout 
     android:id="@+id/LinearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 
<!--<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true">--> 
    <!-- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/linearLayout2" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:weightSum="1"> 
     <TextView 
      android:id="@+id/result2" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:capitalize="characters" 
      android:layout_centerVertical="false" 
      android:layout_marginTop="30dp" 
      android:textSize="30dp"/> 

     <TextView 
      android:id="@+id/quantità2" 
      android:layout_width="100dp" 
      android:layout_height="500dp" 
      android:layout_centerVertical="false" 
      android:textSize="30dp" 
      android:layout_marginTop="30dp" /> 
    </LinearLayout>--> 




     <LinearLayout 
      android:id="@+id/content_main" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/result" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="false" 
       android:textSize="30dp" 
       android:layout_marginTop="0dp"/> 

      <TextView 
       android:id="@+id/resultpizze" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:textSize="30sp"/> 

     </LinearLayout> 
     <LinearLayout 
      android:id="@+id/content_main3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <!--<TextView 
       android:id="@+id/resultpizze" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="false" 
       android:layout_marginTop="30dp" 
       android:textSize="30dp"/>--> 


     </LinearLayout> 
    <LinearLayout 
     android:id="@+id/content_main2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     > 

      <TextView 
       android:id="@+id/result2" 
       android:layout_marginTop="30dp" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:textSize="30sp" 
       /> 

     <!-- <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Manda Email" 
      android:id="@+id/newbutton" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_marginTop="300dp" /> 
--> 
     </LinearLayout> 


<!--</ScrollView>--> 
     <Button 
      android:id="@+id/newbutton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_gravity="center_horizontal" 
      android:onClick="sendemail" 
      android:text="Manda Email"> 
     </Button> 

    </LinearLayout> 


    </ScrollView> 



</RelativeLayout> 
+1

das ist, weil Ihre ProgressBar standardmäßig sichtbar ist. mache es zuerst unsichtbar. –

+0

wo muss ich unsichtbar Fortschrittsbalken machen? – ZAO

+0

füge 'fragment_zwei' Dateicode zur Frage hinzu – artman

Antwort

0

Set android:visibility="gone" für Ihre progressbar in fragment_two xml

+0

funktioniert nicht ... jetzt Fortschrittsbalken erscheint nicht, wenn ich auf die Schaltfläche klicken, um PDF – ZAO

+0

vollständigen Code von XML-und Java-Dateien zu veröffentlichen. der aktuelle Code sieht gut aus für mich – artman

+0

ich postete es .... – ZAO

0

addieren gerade android:visibility="gone" Sie ProgressBar in XML.

<ProgressBar 
    android:id="@+id/progressbar" 
    style="?android:attr/progressBarStyleLarge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:visibility="gone" 
    android:layout_centerInParent="true" /> 

Sie können dies auch in Java tun. schreibe dies nach setContentView

pdfProgress.setVisibility(View.GONE); 

Glückliche Kodierung.

+0

funktioniert nicht ... jetzt Fortschrittsbalken erscheint nicht, wenn ich auf die Schaltfläche klicken, um PDF zu erstellen ... – ZAO

+1

in meinem Code habe ich nicht SetContentView .. .. – ZAO

0

Schritt 1 - Eine globale Variable deklarieren - private ProgressBar pdfProgress;

Schritt 2 - Erstellen Sie ein Fortschrittsbalken-Widget in Ihrer jeweiligen layour.xml (fragment_two) und geben Sie eine ID.

Schritt 3 - In OnCreate() - Methode von TwoFragment, schreibe diesen Code direkt nach der Definition der RootView. pdfProgress = (ProgressBar) rootView.findViewById (R.id. "Ihre Fortschrittsbalken-ID");

Schritt 4 - gerade über createPDF(); schreibe das - pdfProgress.setVisibility (View.VISIBLE);

Schritt 5 - nur unter createPDF(); schreibe das - pdfProgress.setVisibility (View.GONE);

**

aktualisiert Antwort

**

diesen Code in Ihre TwoFragment Versuchen - onClick() -

Button mButton = (Button) rootView.findViewById(R.id.newbutton); 
pdfProgress.setVisibility(View.GONE); 
ProgressBar pdfProgress = (ProgressBar)   
     mButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       //sendemail(); 
       pdfProgress.setVisibility(View.VISIBLE); 
       createPDF(); 
       pdfProgress.setVisibility(View.GONE); 
       viewPDF(); 



      } 
     }); 

Die fragment_two.xml (Ihr Fragment Layout xml) muss einen Fortschrittsbalken enthalten, der so aussieht - (Sie können auch Zeichnungselemente hinzufügen, vielleicht möchten Sie ein Tutorial dafür ansehen)

<ProgressBar 
style="?android:attr/progressBarStyleLarge" 
android:layout_width="50dp" 
android:layout_height="50dp" 
android:id="@+id/progressBar"/> 
+0

wenn ich pdfProgress.setVisibility (View.GONE) setze; vorher auf Klick, App-Absturz – ZAO