2017-05-07 1 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

고마워요. 나는 방금 최근에 자바로 작업하기 시작했다. 다시 한번 감사드립니다. – Macmac

답변

0

layoutsint 배열입니다. ()은 사용자가 매개 변수를 메서드에 넣을 때 사용됩니다.

예 :

arrayList.add(item); 

올바른 코드 :

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