我是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;
}
}
这将是包含不同名称的页面。这里的问题是我无法放置任何文本视图,因为我扩展了类片段而不是活动。在此文件中,我要在页面生成之前死了11次
,请执行一个循环。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();
}
}
最后,这是主要活动
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);
}
}
我会认为每个活动都有一个文本视图,该视图会为每页造成不同的结果。谁知道如何帮助我?谢谢
尝试此
List<Fragment> fragments ;
fragments = new Vector<Fragment>();
for(int i = 0; i<=10; i++){
fragments.add(Fragment.instantiate(this, FragmentBlue.class.getName()));
}
在片段类中创建一种静态方法,以获取所需颜色,图像和文本的片段...
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;
}
然后在您的片段中,或者increateview do
Bundle bundle = getArguments();
String text = bundle.getString("text");
YOUR_TEXTVIEW.setText(text);
...与颜色相同(setbackground ...)和图像...(your_imageview.setimage ...)
现在,当您要创建一个片段时,您只需要做...
YourFragment.getFragmentWithColorImageAndText(Color.BLUE, R.drawable.imageRes, "Hello World");