2014-01-22 61 views
1

我是Android新手,我覺得很複雜。我正在製作一個小應用程序,以更好地理解活動和片段的操作。我的目標是擁有10個屏幕。這些屏幕還必須包含與其他圖像不同的圖像上的字符串。這是我的關於第一個片段的類的代碼,它將具有藍色背景。帶片段的活動

package pl.looksok.viewpagerdemo; 

import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 
import android.support.v4.app.Fragment; 

public class FragmentBlue extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_blue, container, false); 
     return view; 
    } 
} 

這將是包含不同名稱的頁面。這裏的問題是,我不能把任何文本查看,因爲我擴展的類片段而不是Activity.In這個文件,而不是做一個循環,我產生

package pl.looksok.viewpagerdemo; 

import java.util.ArrayList; 
import java.util.List; 

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.widget.Button; 

public class MyPagerAdapter extends FragmentPagerAdapter { 

    private List<Fragment> fragments; 

    public MyPagerAdapter(FragmentManager fm) { 
     super(fm); 
     this.fragments = new ArrayList<Fragment>(); 

     for(int i = 0; i<=10; i++){ 
      fragments.add(new FragmentBlue()); 
     } 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return fragments.get(position); 
    } 

    @Override 
    public int getCount() { 
     return fragments.size(); 
    } 
} 

最後的頁面之前死亡的11倍,這是主要活動

package pl.looksok.viewpagerdemo; 

    import android.os.Bundle; 
    import android.support.v4.app.FragmentActivity; 
    import android.support.v4.view.ViewPager; 

public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     MyPagerAdapter pageAdapter = new MyPagerAdapter(getSupportFragmentManager()); 
     ViewPager pager = (ViewPager)findViewById(R.id.myViewPager); 
     pager.setAdapter(pageAdapter); 
    } 
} 

我會認爲每個活動都有一個文本視圖,爲每個頁面模具不同的結果。誰知道如何幫助我?感謝

回答

0

試試這個

List<Fragment> fragments ; 
fragments = new Vector<Fragment>(); 
for(int i = 0; i<=10; i++){ 
      fragments.add(Fragment.instantiate(this, FragmentBlue.class.getName())); 
     } 
0

在您的片段類中創建一個靜態方法來獲得與顏色,圖像和所需的文本片段...

public static Fragment getFragmentWithColorImageAndText(int color, int imageRes, String text) { 
    Bundle bundle = new Bundle(); 
    bundle.putInt("color",color); 
    bundle.putInt("image",image); 
    bundle.putString("text",text); 
    YourFragment fragment = new YourFragment(); 
    fragment.setArguments(bundle); 
    return fragment; 
} 

然後在片段的onCreate或onCreateView do

Bundle bundle = getArguments(); 
String text = bundle.getString("text"); 
YOUR_TEXTVIEW.setText(text); 

...與顏色相同(setBackground ...)和圖像...(YOUR_IMAGEVIEW.set圖像...)

現在,當你想創建你只需要做一個片段......

YourFragment.getFragmentWithColorImageAndText(Color.BLUE, R.drawable.imageRes, "Hello World");