2017-05-07 103 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);