Github的代码:如何从活动的数据发送到扩展PagerAdapter
你好,我不知道这是可能的,但我想从主要活动上我的课延伸发送新数据PagerAdapter。这个应用程序只是一个具有自定义适配器的ViewPager的简单演示。
我当前想要点击主活动上的一个按钮,然后ViewPager的信息就会更改为新的。
我知道如何使用intents将信息从一个活动发送到另一个活动,但这看起来不一样,因为它没有进入新活动。
请指教。
谢谢!
MainActivity:
public class MainActivity extends AppCompatActivity {
ViewPager viewPager;
customSwip customSwip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager=(ViewPager)findViewById(R.id.viewPager);
customSwip=new customSwip(this);
viewPager.setAdapter(customSwip);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// SOMEHOW PASS THESE DATA TO customSWIP to set new values
int [] imageResources ={R.drawable.capture1,R.drawable.capture2,R.drawable.capture3,R.drawable.capture4,R.drawable.capture5};
String[] imageText = {"new", "two", "three", "four", "five"};
String[] imageHmong = {"new", "new", "new", "new", "new"};
}
});
}
}
customSwip:
public class customSwip extends PagerAdapter {
private int [] imageResources ={R.drawable.capture1,R.drawable.capture2,R.drawable.capture3,R.drawable.capture4,R.drawable.capture5};
private String[] imageText = {"one", "two", "three", "four", "five"};
private String[] imageDifferent = {"61236", "612361", "612361", "612361", "612361"};
private Context ctx;
private LayoutInflater layoutInflater;
public customSwip(Context c) {
ctx=c;
}
@Override
public int getCount() {
return imageResources.length;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView=layoutInflater.inflate(R.layout.activity_custom_swip,container,false);
ImageView imageView=(ImageView) itemView.findViewById(R.id.swip_image_view);
TextView textHmong=(TextView) itemView.findViewById(R.id.different);
TextView textEnglish=(TextView) itemView.findViewById(R.id.english);
imageView.setImageResource(imageResources[position]);
final String dummytext = imageText[position];
textHmong.setText(imageDifferent[position]);
textEnglish.setText(imageText[position]);
container.addView(itemView);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ctx, "" + dummytext, Toast.LENGTH_SHORT).show();
}
});
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
@Override
public boolean isViewFromObject(View view, Object object) {
return (view==object);
}
}
如果customSwip类已经在活动中设置,并且您希望通过按钮点击活动发送数据,则可以使用界面。 –
使用界面是什么意思?我继续Google搜索,大部分内容都是关于传输数据的片段。你有没有通过网站提供任何参考资料? – ojboba