Githubのコードを拡張するクラスに活動からのデータを送信する方法:PagerAdapter
こんにちは、私はこれが可能であるのかはわからないが、私が延びている私のクラスに主な活動から新しいデータを送信したいですPagerAdapter。このアプリは、カスタムアダプタを持つViewPagerの簡単なデモです。
現在、主なアクティビティのボタンをクリックすると、ViewPagerの情報が新しいアクティビティに変更されます。
インテントを使用して1つのアクティビティから別のアクティビティに情報を送信する方法を理解していますが、これは新しいアクティビティにはなりません。
お知らせください。
ありがとうございました!
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クラスがすでにアクティビティに設定されていて、アクティビティのボタンクリックでデータを送信する場合は、interfaceを使用できます。 –
インターフェイスを使用するとどういう意味ですか?私は先に進んでそれを捜して、フラグメントを使ってデータを転送することについての大部分が出てきました。ウェブサイトから参照資料を取得していますか? – ojboba