Я получаю 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'
}