我正在做一项任务,我必须将行数和图像作为输入,然后将图像分成给定的否。行数相等。
我觉得除了一个街区外几乎完成了。我必须接收从扩展intent
的类中的主Activity类传递的图像BaseAdapter
。
如何从非活动类接收意图?
我经常浏览和搜索。所有人只是打算并提供解决方案来传递非活动类的意图,但不接受来自非活动类的意图。
任何人都可以帮助我吗?
答案 0 :(得分:2)
嗨Pratibha。
在Android中是不可能的,但是您可以做一件事:定义将BaseAdapter
扩展为类的子类,该类扩展Activity
以便您可以直接访问这些类子类内的数据,不经过意图
答案 1 :(得分:0)
使用此代码它会对您有所帮助,将这些值声明为全局变量,您可以在任何地方获取这些值...
public class Animate extends Activity {
GridView gridView;
int img;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
Intent i = getIntent();
img = i.getIntExtra("ImageViews", 0);
GridView gridview = (GridView) findViewById(R.id.gridView1);
gridview.setNumColumns(3);
gridview.setAdapter(new MyAdapter(this));
}
public class MyAdapter extends BaseAdapter {
Animate anim = new Animate();
private Context mContext;
int fadeInDuration = 6000;
int timeBetween = 5000;
public MyAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return img;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View grid = convertView;
if (convertView == null) {
LayoutInflater vi = (LayoutInflater) mContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
grid = vi.inflate(R.layout.animation, null);
}
final ImageView image = (ImageView) grid.findViewById(R.id.image);
image.setImageResource(R.drawable.images);
Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setDuration(fadeInDuration);
image.startAnimation(fadeIn);
fadeIn.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
animation.reset();
Animation fadeIn = new AlphaAnimation(0.0f, 1.00f);
fadeIn.setDuration(fadeInDuration);
fadeIn.setStartOffset(5000);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
return grid;
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
}
}