2016-03-05 2 views
0

Ошибка:Null Object Reference на методе setOnClickListner

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kritisharan.tictactoe/com.example.kritisharan.tictactoe.starter_activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 

Код в MainActivity:

public class MainActivity extends AppCompatActivity { 

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

    FloatingActionButton reset = (FloatingActionButton) findViewById(R.id.reset); 

    reset.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      startActivity(new Intent(MainActivity.this, MainActivity.class)); 
     } 
    }); 
} 

XML код в activity_main.xml

<include layout="@layout/content_main"/> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/reset" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="10sp" 
    android:src="@android:drawable/ic_menu_revert"/> 

Не знаю, почему он рассматривает нулевая ссылка. Искал все решения, но не смог найти ничего, что сработает. Пожалуйста помоги.

+1

Покажите content_main.xml, что вы раздуваете, а не activity_main.xml. –

+0

startActivity (новое намерение (MainActivity.this, MainActivity.class)); как в основной деятельности проверьте его – sasikumar

+0

Вы не понимаете. В onCreate, который вы показываете, он раздувает content_main.xml. Но в своем описании после этого вы говорите, что вы показываете activity_main.xml. Это не одно и то же. –

ответ

1

Содержимое, которое вы наполняете content_main.xml, не содержит вид с идентификатором reset, который вы пытаетесь найти в onCreate(). Возможно, вы раздуваете неправильный формат XML. Похоже, вы хотите, чтобы action_main.xml.

2

Изменить эту строку кода:

setContentView(R.layout.content_main); 

к: setContentView(R.layout.activity_main);

1

Измените метод OnCreate() с этим.

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

....... 

} 

Попробуйте это.

+0

Спасибо, это сработало. –

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