0

私はjavaとandroidの新人です。メソッドgetContext()は、Viewクラスのインスタンスによって参照されることなく直接呼び出されます。どうやらこの方法はでないです。どのように直接非静的メソッドを呼び出すことが可能です。私はここで何が欠けていますか?下に自分のコードを追加しました(疑問は最後の行です)。 ありがとうございます。ce.Apparentlyメソッドは静的ではありません

package in.shopperstreet.honeywell; 


import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 

public class CustomAdapter extends ArrayAdapter<String> { 

public CustomAdapter(Context context, String[] books) { 
    super(context,R.layout.activity_main2,books); 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater lif = LayoutInflater.from(getContext()); 
    .... 

答えて

0

getContextは、ArrayAdapterに属します。マニュアルから

このアレイアダプタに関連付けられたコンテキストを返します。コンテキストは、コンストラクタに渡されたリソースからビューを作成するために使用されます。

1

LayoutInflater.from()上で、このアダプタをホストしている活動で呼び出さ使用getLayoutInflater()を、。

public class CustomAdapter extends ArrayAdapter<String> { 
    final private LayoutInflater li; 

    public CustomAdapter(Activity host, String[] books) { 
     super(host,R.layout.activity_main2,books); 
     li=host.getLayoutInflater(); 
    } 


    // other code goes here 
} 
関連する問題