2017-05-07 104 views
0

任何人都可以指出我的程序中缺少或不正確的代碼行,這是我正在使用的代碼。順便提前感謝那些會幫助的人。這是錯誤「預期的方法調用」總是彈出的代碼行。Java中預期的方法調用

View v = layoutInflater.inflate(layouts(position),container,false); 

您可以在下面看到完整的代碼。

import android.content.Context; 
import android.content.Intent; 
import android.support.v4.view.PagerAdapter; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class MainActivity extends AppCompatActivity { 

private Viewpager viewpager; 
private Intromanager intromanager; 
private int[] layouts; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    intromanager = new Intromanager(this); 
    if(!intromanager.Check()) 
    { 
     intromanager.setFirst(false); 
     Intent i = new Intent(MainActivity.this, Main2Activity.class); 
     startActivity(i); 
     finish(); 
    } 
    setContentView(R.layout.activity_main); 

    layouts = new int[]{R.layout.activity_screen_1,R.layout.activity_screen_2,R.layout.activity_screen_3}; 
} 


public class ViewPagerAdapter extends PagerAdapter 
{ 
    private LayoutInflater layoutInflater; 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View v = layoutInflater.inflate(layouts(position),container,false); 
     container.addView(v); 
     return v; 
    } 


    @Override 
    public int getCount() { 
     return layouts.length; 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     return view==object; 
    } 

    @Override 
    public void destroyItem(ViewGroup container, int position, Object object) { 
     View v =(View)object; 
     container.removeView(v); 
    } 
} 
} 
+1

'layouts'是一個數組。您可以使用方括號訪問數組的元素,而不是括號 - 佈局[位置]。 –

+0

使用'layouts [position]那裏.' –

+1

非常感謝。我剛剛纔剛剛開始使用java。再次感謝。 – Macmac

回答

0

layoutsint數組,所以你應該把索引到[]支架。當用戶將參數放入方法中時使用()

實施例:

arrayList.add(item); 

正確的代碼:

View v = layoutInflater.inflate(layouts[position], container, false);