Как найти символьную переменную из R.id, когда я не могу создать свой макет? - PullRequest
0 голосов
/ 22 января 2020

Я получаю 6 ошибок типа «не могу найти символ» для переменных R. из этих строк:

    remoteViews.setTextViewText(R.id.ntitle, title);
    remoteViews.setTextViewText(R.id.ntext, text);
    remoteViews.setImageViewResource(R.id.imagenotiright, R.drawable.crow2);
    remoteViews.setImageViewResource(R.id.imagenotleft, R.drawable.crow);

Я пытаюсь создать приложение с опциями уведомлений, я думал, что R.id вещи предполагается связать с id компонентов из макета. Проблема в том, что я не могу открыть свой макет по какой-то причине, только у меня есть варианты «Текст» и «Объединенный манифест», нет «Дизайна».

Весь код на всякий случай:

package com.example.student.myapplication;
import android.app.NotificationManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.RemoteViews;


public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


static int clickCounter = 0;

private void showNotification(NotificationCompat.Builder builder)
{
    NotificationManager nNotifyMgr = (NotificationManager) getSystemService (NOTIFICATION_SERVICE);
    nNotifyMgr.notify(clickCounter, builder.build());

}

private NotificationCompat.Builder getBuilder(String title, String text){
    return (NotificationCompat.Builder) new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle(title)
            .setContentText(text);

}

public void showBasicNotification(View view)
{
    showNotification(getBuilder("basic notification", totalClicks()));
}

public void showCustomNotification(View view)
{
    String title = "custom.notification";
    String text = totalClicks();
    RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.customnotification);
    remoteViews.setTextViewText(R.id.ntitle, title);
    remoteViews.setTextViewText(R.id.ntext, text);
    remoteViews.setImageViewResource(R.id.imagenotiright, R.drawable.crow2);
    remoteViews.setImageViewResource(R.id.imagenotleft, R.drawable.crow);

    NotificationCompat.Builder builder = getBuilder(title, text);

        builder.setContent(remoteViews);
        showNotification(builder);





}

private String totalClicks()
{
    return "total clicks on projekt2 so far: " + ++clickCounter;
}

}

Gradle:

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.example.student.myapplication"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

1 Ответ

0 голосов
/ 22 января 2020

Вы забыли добавить R. java класс. Пожалуйста, добавьте раздел импорта.

import  com.example.student.myapplication.R;//<yourPackageName>.R;
...