2015-05-14 6 views
1

У меня есть это приложение с EditText, и когда вы нажимаете кнопку, он отправляет значение на второй экран/действие. Есть подсказка в EditText при открытии приложения, но считает ли это не нулевое значение? В настоящее время у меня есть оператор if, но он не работает для замены нулевого значения на «friend». Как я могу изменить код для отображения «друга», когда в EditText ничего не вводится?Как заменить нулевое значение на строку с помощью EditText?

public class SecondActivity extends Activity { 

public static final String TAG = SecondActivity.class.getSimpleName(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.secondscreen); 

    Intent intent = getIntent(); 
    String message = intent.getStringExtra("message"); 
    if (message == null) { 
     message = "Friend"; 
    } 
    Log.d(TAG, message); 


    TextView textView = (TextView) findViewById(R.id.button); 
    textView.append(message); 


} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_second, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

ответ

0

Добро пожаловать в Stackoverflow!

Метод getText() возвращает содержимое TextView как CharSequence, которое может быть пустым, но не null. Вы можете проверить, пуст ли он по телефону myTextView.getText().length == 0.

Если TextVew пуст или заполнен только подсказкой, последовательность символов просто пуста. Второе действие получает пустую строку, но не имеет значения null. Проверьте скорее на пустую строку than null.

+0

Спасибо за понимание в TextViews. Я изменил оператор if, чтобы проверить длину строки и заставить ее работать. Очень ценится. –

+0

Рад видеть, что он работает. – Kumiho

0

использовать что-то вроде этого

Bundle extras = getIntent().getExtras(); 
     if (extras!= null) { 
      textview.setText(extras.getString("message")); 
     }else{ 
      textview.setText("Friend"); 
     } 

я думаю, ваша проблема с Append (вы не имеете ничего, чтобы присоединиться к/добавить в TextView), попробуйте сначала с SetText(), позже в вашем коде, используйте добавление, если вы хотите

+0

После тестирования первого комментария и определения его истинности ваше решение уйдет с той же проблемой. Спасибо за попытку. –

Смежные вопросы