2015-06-01 1 views
1

Я хочу показать тост на actionItem() внутри. Но сейчас он не показывает Тост.Тост не отображается

Если я называю

Context context = getApplicationContext(); 

Перед actionItem(), то приложение падает.

import android.content.Context; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Toast; 


public class ShowWebViewActivity extends ActionBarActivity { 

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

    } 


    @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_show_web_view, 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; 
     //  } 

     switch (item.getItemId()) { 
      case R.id.action_settings: 
       actionItem(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 

    } 
// Context context = getApplicationContext() makes app to crash why?? 
    public void actionItem(){ 
// Toast function should call here. But not working 
     Context context = getApplicationContext(); 
     Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG); 
    } 


} 

ответ

5

Должно быть,

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show(); 
3
Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG); 

должно быть:

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show(); 

Вы бы получили предупреждение IDE также для этого

1

show() отсутствует использование в следующий код

public void actionItem(){ 
// Toast function should call here. But not working 
    Context context = getApplicationContext(); 
    Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show(); 
} 
1

Вы пропустили show()

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG); 

должно быть:

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show(); 
4

Show() отсутствует из вашего кода. Пожалуйста, обратитесь к моему коду:

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show(); 
+4

Почему повторять один и тот же ответ снова и снова? – NarendraJi

0

Вы пропустили функцию show().

Toast.makeText(context, "Action Setting Selected", Toast.LENGTH_LONG).show();