0
私は、そのクラスではnullオブジェクト参照を返しますが、私の主なアクティビティで同じメソッドを使用すると、それは私がなぜこのようなことが起こるのかを誰かに教えてくれますが、LayoutInflator
を使用するとアクティビティを拡張するクラスからレイアウトにアクセスしています。LayoutInflatorは同じ構文のnullオブジェクト参照を返しますなぜですか?
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
を私が主な活動で同じメソッドを使用するとき、私はのLinearLayoutを取得することができます:
public class MenipulateCard extends Activity{
public LinearLayout myCard(
LayoutInflater myInflator =
(LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
CardView view = (CardView) myInflator.inflate(R.layout.user_layout,null);
LinearLayout ml = new LinearLayout(this);
ml.addView(view);
return ml;
}
それがnullオブジェクト参照を返します。 ()、私を助ける代わりに
は、あなたが(context.getSystemServicを試していることを確認してください)の代わりにgetApplicationContextのしてください。getSystemService? – Darush
アンドロイド・スタジオはポップアップしません。そのためのgetApplicationContextは、getBaseContextとgetApplicationContextのみを表示します。 – Mudassir
私はthis.getSystemService()を意味します。 – Darush