2016-05-09 25 views
0

請幫我設置TextView的文本在自定義通知如何設置自定義通知的TextView價值

private void startNotification() 
{ 
    String ns = Context.NOTIFICATION_SERVICE; 
    NotificationManager notificationManager = (NotificationManager) getSystemService(ns); 
    Notification notification = new Notification(R.drawable.ic_launcher, null, System.currentTimeMillis()); 
    RemoteViews notificationView = new RemoteViews(getPackageName(),R.layout.mynotification); 
    mRemoteViews.setTextViewText(R.id.appName, getResources().getText(0,"gfhf")); 
    mBuilder.setContent(mRemoteViews); 
    Intent notificationIntent = new Intent(this, FlashLight.class); 
    PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
    notification.contentView = notificationView; 
    notification.contentIntent = pendingNotificationIntent; 
    notification.flags |= Notification.FLAG_NO_CLEAR; 
    Intent switchIntent = new Intent(this, switchButtonListener.class); 
    PendingIntent pendingSwitchIntent = PendingIntent.getBroadcast(this, 0, switchIntent, 0); 
    notificationView.setOnClickPendingIntent(R.id.closeOnFlash, pendingSwitchIntent); 
    notificationManager.notify(1, notification); 

} 

顯示java.lang.NullPointerException:試圖調用虛擬方法無效 android.widget .RemoteViews.setTextViewText(INT, java.lang.CharSequence中的)」對空對象引用

請幫助我如何解決這個問題。如何設置android中的通知textview上的值,在此先感謝。

+0

你到底要什麼?你想用自定義樣式textView創建自定義通知嗎?爲此創建自定義類並覆蓋DefaultNotificationFactory並創建您自己的視圖 –

回答

2

檢查:

private void startNotification() { 

    int icon = R.drawable.icon_48; 
    long when = System.currentTimeMillis(); 
    Notification notification = new Notification(icon, "Custom Notification", when); 

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 

    RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); 
    contentView.setImageViewResource(R.id.image, R.drawable.icon_48); 
    contentView.setTextViewText(R.id.title, "Notification Title/App Name"); 
    contentView.setTextViewText(R.id.text, "message"); 
    notification.contentView = contentView; 

    Intent notificationIntent = new Intent(this, YourClass.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
    notification.contentIntent = contentIntent; 

    notification.flags |= Notification.FLAG_AUTO_CANCEL; 
    notification.defaults |= Notification.DEFAULT_LIGHTS; // LED 
    notification.defaults |= Notification.DEFAULT_VIBRATE; //Vibration 
    notification.defaults |= Notification.DEFAULT_SOUND; // Sound 

    mNotificationManager.notify(1, notification); 
} 

custom_notification.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/layout" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#fff" 
android:padding="10dp"> 

<ImageView 
    android:id="@+id/image" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_marginRight="10dp" /> 

<TextView 
    android:id="@+id/title" 
    style="Custom Notification Title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/image" 
    android:textSize="18sp" 
    android:textColor="#336ba4" /> 

<TextView 
    android:id="@+id/text" 
    style="Custom Notification Text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/title" 
    android:layout_toRightOf="@id/image" 
    android:textSize="16sp" 
    android:textColor="#336ba4" /> 
</RelativeLayout> 
+0

如何在計算後將運行時的值放入。由於amarbir我得到的價值,但它顯示零尼特實際值 – techandroid07

+0

不能讓你!更清楚! –

+0

我想設置電池當前的百分比值在那個文本視圖..在這我能夠獲取的價值,但是當我把它放在這個文本視圖中顯示零 – techandroid07

相關問題