13
Сен
2021

null pointer exception, там где его не должно быть

в моём приложении надо отловить нажатия клавиш. Но тут возникает проблема, при создании "онкликлистенера" вылетает ошибка: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setOnItemClickListener(android.widget.AdapterView$OnItemClickListener)' on a null object reference

MainActivity java: '

public class MainActivity extends AppCompatActivity {
    Button btnDraw;
    ListView tasksList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        btnDraw = (Button)findViewById(R.id.btnDraw);
        tasksList = (ListView)findViewById(R.id.enter);

        getSupportActionBar().hide();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("change actions");

        tasksList.setOnItemClickListener(new AdapterView.OnItemClickListener() {// вот здесь и вылетает

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                Object o = tasksList.getItemAtPosition(position);
                String str=(String)o;//As you are using Default String Adapter
                Toast.makeText(getApplicationContext(),str,Toast.LENGTH_SHORT).show();
            }
        });
        Context context = this;
        btnDraw.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                setContentView(new Drawer(context));
             }
         });
    }
 }

'

xml:

<?xml version="11.0" encoding="UTF-8" standalone="no"?>
<!--prolog-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <ListView
        android:id="@+id/enter"
        android:layout_width="match_parent"
        android:layout_height="700px"
        android:entries="@array/list">
    </ListView>
    <Button
        android:id="@+id/btnDraw"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_margin="15px"
        android:text="draw">

    </Button>

    <!--
    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:context=".Canvas">

    </androidx.appcompat.widget.LinearLayoutCompat>
-->

</LinearLayout>

Источник: https://ru.stackoverflow.com/questions/1328101/null-pointer-exception-%D1%82%D0%B0%D0%BC-%D0%B3%D0%B4%D0%B5-%D0%B5%D0%B3%D0%BE-%D0%BD%D0%B5-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE-%D0%B1%D1%8B%D1%82%D1%8C

Тебе может это понравится...

Добавить комментарий