2014-12-28 3 views
0

Вот мой код:findViewByID() не работает. Что мне делать?

class MyDialogFragment extends DialogFragment 
{ 
@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) 
{ 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    builder.setTitle("Clear cache memory"); 
    builder.setMessage("Do you want to delete cache memory ?"); 
    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
     { 
      @Override 
      public void onClick(DialogInterface p1, int p2) 
      { 
       //context.deleteDatabase("webview.db"); 
       //context.deleteDatabase("webviewCache.db"); 
       // TODO: Implement this method 
       WebView browser = (WebView) findViewById(R.id.mainWebView1); 
       browser.clearHistory(); 
       browser.clearFormData(); 
       browser.clearCache(true); 
      } 


     }); 
+1

В каком макете находится 'mainWebView1', который должен находиться? Что означает «не работает»? – laalto

+0

Пожалуйста, попробуйте уточнить: dosn't compile, некоторая ошибка отображается и т. Д. – kestasx

+2

Опубликуйте свой вывод cat cat –

ответ

1

Попробуйте использовать GetView(). Это вернет корневой вид фрагмента, с помощью которого вы можете вызвать findViewById().

class MyDialogFragment extends DialogFragment 
{ 
@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) 
{ 
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
builder.setTitle("Clear cache memory"); 
builder.setMessage("Do you want to delete cache memory ?"); 
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
    { 
     @Override 
     public void onClick(DialogInterface p1, int p2) 
     { 
      //context.deleteDatabase("webview.db"); 
      //context.deleteDatabase("webviewCache.db"); 
      // TODO: Implement this method 
      WebView browser = (WebView) getView().findViewById(R.id.mainWebView1); 
      browser.clearHistory(); 
      browser.clearFormData(); 
      browser.clearCache(true); 
     } 


    });