2016-03-09 2 views
-1

Я создаю приложение в качестве части моего школьного проекта, и я столкнулся с ошибкой, связанной с «представлением». Он говорит, что «вид» не может быть разрешен.Почему невозможно решить проблему?

Существует также другая ошибка, связанная с R.id.concern и другими. Он говорит, что требуется постоянное выражение.

Пункт этого кода при нажатии кнопки проверяет, какие контрольные списки были проверены, назначьте ему 1 или 0 и добавьте счет. Это чем изменяет текст, основанный на оценке.

package xyz.ashraf.whoisdelasalle; 

import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.CheckBox; 
import android.widget.CompoundButton; 
import android.widget.TextView; 
import android.widget.CompoundButton.OnCheckedChangeListener; 

/** 
* Created by Ashraf on 3/2/2016. 
*/ 
public class check_Button extends Pop_sallian{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.popwindow_sallian); 
     // Connects The variable to an xml id 


     TextView output = (TextView) findViewById(R.id.output); 

     //sets the variable to 0 
     int score = 0; 

     public void onCheckboxClicked(View view) { 
     boolean checked = ((CheckBox) view).isChecked(); 

     switch(view.getId()){ 
      case R.id.concern: 
       if(checked) { 
        score += 1; 
       } 
       break; 
      case R.id.faith: 
       if(checked){ 
        score+=1; 
       } 
       break; 
      case R.id.respect: 
       if(checked){ 
        score+=1; 
       } 
       break; 
      case R.id.education: 
       if(checked){ 
        score+=1; 
       } 
       break; 
      case R.id.community: 
       if(checked){ 
        score+=1; 
       } 
       break; 
       } 
    } 





     // adds the variables together to form a score 

     if(score == 0){ 
      output.setText("Come on! Get involved, your la sallian community needs you."); 
     } else if(score == 1){ 
      output.setText("Good start, keep going!"); 
     } else if(score == 2){ 
      output.setText("Room to improve but doing good!"); 
     } else if(score == 3){ 
      output.setText("Very good, others look up to you!"); 
     } else if(score == 4){ 
      output.setText("Wow, you really are an inspiration"); 
     } else if(score == 5){ 
      output.setText("Excellent! You're a leader in your la sallian community"); 
     } else{ 
      output.setText("Unknown"); 
     } 
     // changes the output text based on score value 
    } 
} 

^^ код, где ошибки ^^

package xyz.ashraf.whoisdelasalle; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.DisplayMetrics; 
import android.view.View; 
import android.widget.Button; 

/** 
* Created by Ashraf on 1/27/2016. 
*/ 
public class Pop_sallian extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.popwindow_sallian); 

     DisplayMetrics dm = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(dm); 

     int width = dm.widthPixels; 
     int height = dm.heightPixels; 

     getWindow().setLayout((int)(width*.8),(int)(height*.6)); 

     Button checkButton = (Button) findViewById(R.id.check); 
     checkButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(Pop_sallian.this, check_Button.class)); 
      } 
     }); 
     Button okButton = (Button) findViewById(R.id.okButton_sallian); 
     okButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       finish(); 
      } 
     }); 
    } 
} 

^^ код где кнопка проверки списка проверки является ^^

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<RelativeLayout 
    android:layout_width="match_parent" android:layout_height="match_parent"> 
    android:elevation="8dp" 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Are you a Sallian?" 
     android:id="@+id/textView7" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:textSize="30sp" 
     android:textColor="#000000" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Do you meet the following prerequisites, if you do you may be a Sallian" 
     android:id="@+id/textView8" 
     android:layout_below="@+id/textView7" 
     android:layout_centerHorizontal="true" 
     android:textSize="20sp" 
     android:textColor="#000000" /> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Are you concerened for the poor and Social Justice?" 
     android:id="@+id/concern" 
     android:textSize="18sp" 
     android:layout_below="@+id/textView8" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="10dp" 
     android:onClick="onCheckboxClicked"/> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Do you have faith in the presence of God?" 
     android:id="@+id/faith" 
     android:textSize="15sp" 
     android:layout_below="@+id/concern" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="3dp" 
     android:onClick="onCheckboxClicked"/> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Do you have Respect for all people?" 
     android:id="@+id/respect" 
     android:layout_below="@+id/faith" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="3dp" 
     android:textSize="15sp" 
     android:onClick="onCheckboxClicked"/> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Do you value education?" 
     android:id="@+id/education" 
     android:textSize="15sp" 
     android:layout_below="@+id/respect" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="3dp" 
     android:onClick="onCheckboxClicked"/> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Are you inclusive in your community?" 
     android:id="@+id/community" 
     android:layout_below="@+id/education" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:textSize="15sp" 
     android:checked="false" 
     android:onClick="onCheckboxClicked"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Ok" 
     android:id="@+id/okButton_sallian" 
     android:layout_below="@+id/community" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="90dp" 
     android:layout_marginBottom="20dp" 
     android:background="#FAFAFA" 
     android:textColor="#00E676" 
     android:elevation="2dp" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Check" 
     android:id="@+id/check" 
     android:textColor="#00E676" 
     android:elevation="2dp" 
     android:background="#FAFAFA" 
     android:layout_alignTop="@+id/okButton_sallian" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="20dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:id="@+id/output" 
     android:textColor="#1eff00" 
     android:textSize="20sp" 
     android:layout_below="@+id/community" 
     android:layout_centerHorizontal="true" 
     android:layout_above="@+id/check" 
     android:textIsSelectable="false" /> 
</RelativeLayout> 
    </ScrollView> 

^^ Xml код ^^

package xyz.ashraf.whoisdelasalle; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 

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

     Button b = (Button) findViewById(R.id.who); 
     Button today = (Button) findViewById(R.id.today); 
     Button sallian = (Button) findViewById(R.id.sallian); 
     Button how = (Button) findViewById(R.id.toBe); 
     Button moreInfo = (Button) findViewById(R.id.info); 

     b.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, Pop.class)); 
      } 
     }); 

     today.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, Pop_today.class)); 
      } 
     }); 
     sallian.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, Pop_sallian.class)); 
      } 
     }); 
     how.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, Pop_how.class)); 
      } 
     }); 
     moreInfo.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, Pop_info.class)); 
      } 
     }); 
    } 
} 

^^ Деятельность main ^^

Если есть какие-либо улучшения или другие ошибки, которые вы заметили, не стесняйтесь указывать их. Если вы можете включить код в качестве части вашего ответа.

+0

Почему android: elevation = " 8dp "из всех тегов ???: o –

+0

В каком номере строки вы точно столкнулись с ошибкой ?? и какая ошибка? можете ли вы опубликовать журналы ошибок? –

+0

Это всплывающее окно, и я пытался добавить к нему возвышение. –

ответ

0

Вам нужно изменить следующую строку из:

Button sallian = (Button) findViewById(R.id.sallian); 

To:

Button sallian = (Button) findViewById(R.id.okButton_sallian); 
+0

Кнопка sallian - это то, что вызывает всплывающее окно из основной активности. –

+0

@AshrafAli. Я думаю, что идентификатор кнопки в XML и идентификатор кнопки в коде не совпадают, если XML является основным видом деятельности. –

0

Первое первых Вы объявили метод внутри другого метода :)

public void onCheckboxClicked(View view) { 
      boolean checked = ((CheckBox) view).isChecked(); 

      switch(view.getId()){ 
       case R.id.concern: 
        if(checked) { 
         score += 1; 
        } 
        break; 
       case R.id.faith: 
        if(checked){ 
         score+=1; 
        } 
        break; 
       case R.id.respect: 
        if(checked){ 
         score+=1; 
        } 
        break; 
       case R.id.education: 
        if(checked){ 
         score+=1; 
        } 
        break; 
       case R.id.community: 
        if(checked){ 
         score+=1; 
        } 
        break; 
        } 
     } 

Этот должен быть объявлен сторонним методом protected void onCreate(Bundle savedInstanceState)

Второе объявление переменных int score = 0; и TextView выводятся как переменные экземпляра класса, а не как переменные onCreatemethods. То, что я имею в виду, это

public class check_Button extends Pop_sallian{ 
     int score = 0; 
     TextView output = null; 

Это должно решить, что вы не можете решить проблему с переменной и выходной переменной. Но серьезно я не понимал, что вы пытаетесь сделать: D Вы показываете значение оценки в выходном тексте в onCrateView (который вызывается при загрузке активности), что означает, что ваша оценка всегда равна нулю :) и когда пользователь нажимает флажок вы обновляете значение баллов :) только вы знаете, что вы будете делать с этим значением :)

Свободное предложение: P - Если вы хотите отобразить счет после расчета балла переместить отображение кода внутри onCheckboxClicked

onCheckboxClicked(View view) { 
       boolean checked = ((CheckBox) view).isChecked(); 

       switch(view.getId()){ 
        case R.id.concern: 
         if(checked) { 
          score += 1; 
         } 
         break; 
        case R.id.faith: 
         if(checked){ 
          score+=1; 
         } 
         break; 
        case R.id.respect: 
         if(checked){ 
          score+=1; 
         } 
         break; 
        case R.id.education: 
         if(checked){ 
          score+=1; 
         } 
         break; 
        case R.id.community: 
         if(checked){ 
          score+=1; 
         } 
         break; 
        } 
      if(score == 0){ 
       output.setText("Come on! Get involved, your la sallian community needs you."); 
      } else if(score == 1){ 
       output.setText("Good start, keep going!"); 
      } else if(score == 2){ 
       output.setText("Room to improve but doing good!"); 
      } else if(score == 3){ 
       output.setText("Very good, others look up to you!"); 
      } else if(score == 4){ 
       output.setText("Wow, you really are an inspiration"); 
      } else if(score == 5){ 
       output.setText("Excellent! You're a leader in your la sallian community"); 
      } else{ 
       output.setText("Unknown"); 
      } 
} 

Попробуйте выравнивал код для большей ясности :) Если вы используете Android-студии используйте Ctrl + Alt + я :)

Последнее предложение :) Я действительно не вижу смысла в расширении вашего класса checkButton с помощью popSalian или что-то еще, чтобы продлить его из обычной активности :) Надеюсь, мой ответ помог вам :) Счастливое кодирование :)

+0

Да, это была моя первоначальная цель: выполнить вычисления после нажатия кнопки. –

+0

Надеюсь, что ваша проблема решена тогда ??? –

Смежные вопросы