import
android.content.Context
;
import
android.content.pm.PackageManager.NameNotFoundException
;
import
android.content.res.Resources.NotFoundException
;
import
android.graphics.drawable.Drawable
;
import
android.os.SystemClock
;
import
android.text.format.DateUtils
;
import
android.util.AttributeSet
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
public
class
NotificationLayoutItem
extends
RelativeLayout
{
public
NotificationLayoutItem
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
}
public
NotificationLayoutItem
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
public
NotificationLayoutItem
(
Context
context
)
{
super
(
context
);
}
private
ImageView
mIcon
;
private
TextView
mText
;
private
TextView
mTime
;
@Override
protected
void
onFinishInflate
()
{
super
.
onFinishInflate
();
mIcon
=
(
ImageView
)
findViewById
(
R
.
id
.
notif_icon
);
mText
=
(
TextView
)
findViewById
(
R
.
id
.
notif_text
);
mTime
=
(
TextView
)
findViewById
(
R
.
id
.
notif_time
);
}
// 业务逻辑代码
public
void
setData
(
NotificationData
data
)
{
mText
.
setText
(
data
.
tickerText
);
mTime
.
setText
(
formatTime
(
data
.
time
));
Drawable
icon
;
try
{
icon
=
getContext
().
getPackageManager
().
getResourcesForApplication
(
data
.
packageName
.
toString
()).
getDrawable
(
data
.
icon
);
mIcon
.
setImageDrawable
(
icon
);
}
catch
(
NotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
NameNotFoundException
e
)
{
e
.
printStackTrace
();
}
}
private
CharSequence
formatTime
(
long
time
)
{
return
DateUtils
.
formatDateTime
(
getContext
(),
time
,
DateUtils
.
FORMAT_SHOW_TIME
);
}
}