2016-05-05 3 views
-1

Я применил кнопку намерения для совместного использования в моем приложении. У меня есть строки в текстовом виде, но он не всегда заполняется каким-либо текстом. Итак, я хотел бы проверить, что он пуст или нет. Если строка пуста, совместное намерение должно игнорировать/удалить/получить поездку этой строки и перейти к следующей строке. Я пытался сделать это программно, но безуспешно. Как я могу это сделать? Мне нужно немного helpo:Цель совместного использования должна проверить, нет ли текстового поля

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 вместо String, для доп.

+0

Хорошо, это сработало! Но когда текст пуст, намерение совместного использования дает пространство, как будто там есть строка в пробеле, когда я передаю ее кому-то. Я не хочу этого места. Я хочу, чтобы этот «delete» textView был пуст, как если бы он не существовал и перешел к следующей строке. –

+0

@HollyIkki, см. Мое редактирование. –

+0

Спасибо большое !!! Это сработало!! : D –