2017-05-07 17 views
0

私のプログラムでコードの欠落や誤った行を指摘できますか?これは私が作業しているコードです。 Btwは事前に助けてくれる人に感謝します。これは、エラー 'Method call expected'が常にポップしているコード行です。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'が配列です。配列の要素にはカッコではなく角括弧でアクセスします。 'layouts [position]'です。 –

+0

'レイアウト[位置]を使用してください。 ' –

+1

ありがとうございます。私はちょうどちょうど最近ちょうどjavaと働き始めた。再度、感謝します。 – Macmac

答えて

0

layoutsあなたは[]ブラケットへのインデックスを置く必要がありますのでint配列です。 ()は、ユーザーがパラメーターをメソッドに入れるときに使用されます。

例:

arrayList.add(item); 

正しいコード:

View v = layoutInflater.inflate(layouts[position], container, false); 
関連する問題