2016-05-05 61 views
-1

我在應用程序中實現了Sharing intent按鈕。我在textviews中有字符串,但它並不總是填充任何文本。所以,我想檢查它是否爲空。如果一個字符串是空的,共享意圖應該忽略/刪除/獲取這個字符串並轉到下一個字符串。我嘗試以編程方式執行此操作,但沒有成功。我怎樣才能做到這一點?我需要一些helpo:共享意圖應該檢查textview是否爲空

public void buttonClick2(View view) { 


      TextView textView1 = (TextView)findViewById(R.id.word); 
      TextView textView2 = (TextView)findViewById(R.id.definition); 
      TextView textView3 = (TextView)findViewById(R.id.definition2); 
      TextView textView4 = (TextView)findViewById(R.id.definition3); 




      boolean hasDefinition2 = false; 
     if (textView3 !=null){ 
      String text3 = textView3.getText().toString(); 
      if(text3 !=null && !text3.isEmpty()){ 
       hasDefinition2 = true; 
      } 
     } 

     String def2 =""; 
     if(hasDefinition2){ 
      def2 +="\n Definition 2: "+textView3.getText().toString(); 
     } 


     boolean hasDefinition3 = false; 
     if (textView4 !=null){ 
      String text4 = textView4.getText().toString(); 
      if(text4 !=null && !text4.isEmpty()){ 
       hasDefinition3 = true; 
      } 
     } 

     String def3 =""; 
     if(hasDefinition3){ 
      def3 +="\n Definition 3: "+textView4.getText().toString(); 
     } 
      Intent shareIntent1 = new Intent(android.content.Intent.ACTION_SEND); 
      shareIntent1.setAction(android.content.Intent.ACTION_SEND); 
      shareIntent1.setType("text/plain"); 
      shareIntent1.putExtra(android.content.Intent.EXTRA_SUBJECT, "Word"); //<=adding blank quotes 

      shareIntent1.putExtra(Intent.EXTRA_TEXT, textView1.getText().toString()+ 
        "\n"+Definition: +textView2.getText().toString()+ 
        "\n"+def2+ 
        "\n"+def3+ 
        "\n"+"\n"+"@2016 Dictionary"+ 
        "\n"+"Visit us:");  
      startActivity(Intent.createChooser(shareIntent1, "Share")); 





     } 

回答

1

你可以試試下面的檢查textView3/4爲空: -

String extra =textView1.getText().toString()+ 
       "\n"+Definition: +textView2.getText().toString(); 

if (textView3 !=null){ 
    String text = textView3.getText().toString(); 
    if(text !=null && !text.isEmpty()){ 
     extra +="\n Definition 2:"+ textView3.getText().toString(); 
    } 
} 

if (textView4 !=null){ 
    String text = textView4.getText().toString(); 
    if(text !=null && !text.isEmpty()){ 
     extra +="\n Definition 3:"+ textView4.getText().toString(); 
    } 
} 

extra += "\n"+"\n"+"@2016 Dictionary"+ 
     "\n"+"Visit us:" 

shareIntent.putExtra(Intent.EXTRA_TEXT, extra); 
startActivity(...) 

也不要考慮使用,而不是字符串的額外的StringBuilder。

+0

好吧,它的工作!但是,當文本爲空時,共享意圖會給出空間,就好像空白處有一個字符串,當我將它分享給某人時。我不想要這個空間。我希望這個「刪除」textView爲空時,就好像它不存在並轉到下一個字符串。 –

+0

@HollyIkki,看我的編輯。 –

+0

非常感謝!有效!! :d –