私はモバイルアプリケーションを作成しています。アンドロイドスタジオのMainActivityクラスにあり、内部のフラグメントクラス内にあるメソッドを呼び出そうとしています。このフラグメントのクラスの中で私は別のクラスと呼ばれるWebViewInterfaceありますjava(android)の内部クラスにアクセスするには?
public class tab2_upgrade extends Fragment {
Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab2_upgrade, container, false);
WebView webView = (WebView) view.findViewById(R.id.webView);
webView.loadUrl("file:///android_asset/tab2.html");
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewInterface(getActivity()), "Android");
return view;
}
public class WebViewInterface {
WebViewInterface(Context myWebViewFragment) {
context = myWebViewFragment;
}
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
をしかし、私は私のMainActivityから、その中にメソッドを呼び出すために、この内部クラスにアクセスしようとすると、私はそれはそれを認識していないかのようにエラーを取得する(ことができますが、 )それを見つける:
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
tab2_upgrade tab2 = new tab2_upgrade();
tab2.WebViewInterface tab2WebView = new tab2.WebViewInterface();
}
または
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
tab2_upgrade tab2 = new tab2_upgrade();
tab2.WebViewInterface tab2WebView = tab2.new WebViewInterface();
}
誰かが、私はこのエラーを取得していますなぜ、私はWebViewInterface cをアクセスできるようにこの問題を解決する方法を教えてもらえます私の断片クラスの授業ですか?赤でエラーを表示するには、添付の画像を参照してください。おかげ
引数のないコンストラクタはありません。 – Adrian