NullPointerException в Android при нажатии - PullRequest
1 голос
/ 27 сентября 2011
ERROR/AndroidRuntime(545):     at no.jarle.f02.myActivity.onClick(myActivity.java:38)


public void onClick( View v )
{
    tvTextView.setText(editText1.getText());   <--- line 38
}


<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".myActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

TextView должен отображать текст, введенный пользователем в EditText при нажатии кнопки. Вместо этого это очевидно терпит крах, и я, кажется, не могу найти проблему. Любая помощь с благодарностью:)

Ответы [ 3 ]

1 голос
/ 27 сентября 2011

Используйте это:

   if (editText1.getText().toString().trim() > 0)

    tvTextView.setText(editText1.getText().toString());
0 голосов
/ 27 сентября 2011

Возможно, ваши TextView и / или EditText создаются только в методе onCreate, и у них нет "жизни" в вашем методе onClick.

Ваш класс что-то вроде этого?

Class YourClass {

private EditText editText1;

private TextView tvTextView;

public void `onCreate`(Bundle arg) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main)

    editText1 = (EditText) findViewById(R.id.editText1);
    tvTextView = (TextView) findViewById(R.id.tvTextView);
}

public void onClick(View v) {
    tvTextView.setText(editText1.getText());
}

если ваши TextView и EditText не являются атрибутами, вы не можете манипулировать ими при помощи onClick.

или вы можете получить их экземпляр методом onClick, используя findViewById, прежде чем пытаться установить текст.

0 голосов
/ 27 сентября 2011

Полагаю, у вас есть пустой editText1, когда вы нажимаете на кнопку.Поэтому перед настройкой текста просто убедитесь, что у вас есть что-то в editText1.Например

if (editText1.getText().length>0)
   tvTextView.setText(editText1.getText());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...