android 如何派生一个新的类
比如我用到一个toast类属性,如何自己想在此类的基础上派生一个新的属性的类以供使用该如何做。我是创建了一个myToast类后添加图片显示等等属性。但是在Activity...
比如我用到一个toast 类属性 ,如何自己想在此类的基础上派生一个新的属性的类以供使用该如何做。
我是创建了一个myToast 类后 添加 图片显示等等属性 。
但是 在Activity 中调用这个Toast 类后属性更改没有成功。
class Mytoast{
ImageView imageView= new ImageView(context);
imageView.setImageResource(R.drawable.ic_launcher);
LinearLayout toastView = (LinearLayout) this.getView();
toastView.setOrientation(LinearLayout.HORIZONTAL);
toastView.addView(imageView, 0);
this.show();
};
请问这个类有什么问题 展开
我是创建了一个myToast 类后 添加 图片显示等等属性 。
但是 在Activity 中调用这个Toast 类后属性更改没有成功。
class Mytoast{
ImageView imageView= new ImageView(context);
imageView.setImageResource(R.drawable.ic_launcher);
LinearLayout toastView = (LinearLayout) this.getView();
toastView.setOrientation(LinearLayout.HORIZONTAL);
toastView.addView(imageView, 0);
this.show();
};
请问这个类有什么问题 展开
3个回答
展开全部
你想的太简单了,首先你这个新类应该继承Toast (extends),原本的toast对应的布局只有一个textview,现在你想加图片 把imageview挂载到布局里,具体你可以看下Toast的源码,代码不多。
public static Toast makeText(Context context, CharSequence text, int duration) {
Toast result = new Toast(context);
LayoutInflater inflate = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflate.inflate(com.android.internal.R.layout.transient_notification, null);
TextView tv = (TextView)v.findViewById(com.android.internal.R.id.message);
tv.setText(text);
result.mNextView = v;
result.mDuration = duration;
return result;
}
public static Toast makeText(Context context, CharSequence text, int duration) {
Toast result = new Toast(context);
LayoutInflater inflate = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflate.inflate(com.android.internal.R.layout.transient_notification, null);
TextView tv = (TextView)v.findViewById(com.android.internal.R.id.message);
tv.setText(text);
result.mNextView = v;
result.mDuration = duration;
return result;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询