2017-10-19 3 views
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オブジェクト参照を返します。 ()、私を助ける代わりに

+0

は、あなたが(context.getSystemServicを試していることを確認してください)の代わりにgetApplicationContextのしてください。getSystemService? – Darush

+0

アンドロイド・スタジオはポップアップしません。そのためのgetApplicationContextは、getBaseContextとgetApplicationContextのみを表示します。 – Mudassir

+1

私はthis.getSystemService()を意味します。 – Darush

答えて

0

使用この方法を仲間が、あなたのコンテキストがnullない

View v = LayoutInflater.from(yourContext).inflate(int resource, ViewGroup root, boolean attachToRoot); 
関連する問題