2014-01-27 3 views
0

Привет есть мой add_activity.xmlAndroid findViewById не может найти ресурс

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".AddActivity" > 

<TextView 
    android:id="@+id/textViewNome" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="19dp" 
    android:text="Nome (univoco):" /> 

<TextView 
    android:id="@+id/TextViewURL" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textViewNome" 
    android:layout_below="@+id/textViewNome" 
    android:layout_marginTop="15dp" 
    android:text="URL:" /> 

<TextView 
    android:id="@+id/TextView02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/TextViewURL" 
    android:layout_below="@+id/TextViewURL" 
    android:layout_marginTop="20dp" 
    android:text="Aggiorna ogni" /> 

<EditText 
    android:id="@+id/editText_URL" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/TextViewURL" 
    android:layout_alignBottom="@+id/TextViewURL" 
    android:layout_alignRight="@+id/editText_Name" 
    android:layout_marginLeft="14dp" 
    android:layout_toRightOf="@+id/TextViewURL" 
    android:ems="10" 
    android:inputType="textUri" > 

    <requestFocus /> 
</EditText> 

<EditText 
    android:id="@+id/editText_Name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/textViewNome" 
    android:layout_alignBottom="@+id/textViewNome" 
    android:layout_marginLeft="14dp" 
    android:layout_toRightOf="@+id/textViewNome" 
    android:ems="10" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/TextView02" 
    android:layout_alignRight="@+id/editText_URL" 
    android:layout_marginRight="32dp" 
    android:text="minuti" /> 

<TextView 
    android:id="@+id/textViewErrors" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" /> 

<EditText 
    android:id="@+id/editText_Time" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/TextView02" 
    android:layout_alignBottom="@+id/TextView02" 
    android:layout_toLeftOf="@+id/textView2" 
    android:layout_toRightOf="@+id/TextView02" 
    android:ems="10" 
    android:inputType="number" /> 

<ImageButton 
    android:id="@+id/OkButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/editText_Time" 
    android:layout_marginTop="28dp" 
    android:layout_toLeftOf="@+id/CancelButton" 
    android:background="@null" 
    android:onClick="OkButton_Handler" 
    android:src="@drawable/add_icon" /> 

<ImageButton 
    android:id="@+id/CancelButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/OkButton" 
    android:background="@null" 
    android:onClick="CancelButton_Handler" 
    android:src="@drawable/delete_icon" /> 

И есть мой метод попытаться найти вид editText_Time:

@Override 
protected void onCreate(Bundle savedInstanceState) { //parte quando viene create l'interfaccia 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add); 
    Intent intent = getIntent(); 
    if(intent.getExtras().getInt("requestCode") == 1){ //Richiesta modifica 
     ((EditText) findViewById(R.id.editText_Time)).setText(intent.getExtras().getInt("tempo")); 
     ((EditText) findViewById(R.id.editText_Name)).setText(intent.getExtras().getString("nome")); 
     //((EditText) findViewById(R.id.editText_URL)).setText(intent.getExtras().getString("url")); 
     id_to_edit = intent.getExtras().getInt("id"); 
    } 
} 

При запуске мое приложение, к logcat говорит Ресурсы $ NotFoundException

Я действительно не понимаю, почему он c a find editText_Time

Может кто-нибудь мне помочь? : D

ответ

4

Проблема эта линия:

((EditText) findViewById(R.id.editText_Time)) 
      .setText(intent.getExtras().getInt("tempo")); 

getInt возвращает int, поэтому метод setText(int resId) будет называться и будет искать ресурс со значением возвращаемого getInt("tempo"), который не существует, и, следовательно, ResourceNotFoundException.

Я предполагаю, что вы хотите установить текст с целым числом, возвращаемым getInt (т.е. вызовите метод setText(CharSequence text)). Так что:

((EditText) findViewById(R.id.editText_Time)) 
      .setText(String.valueOf(intent.getExtras().getInt("tempo"))); 

Также не называют getExtras() несколько раз. Позвоните один раз:

Bundle b = getIntent().getExtras(); 
if(b.getInt("requestCode") == 1){ //Richiesta modifica 
    ((EditText) findViewById(R.id.editText_Time)).setText(String.valueOf(b.getInt("tempo"))); 
    ((EditText) findViewById(R.id.editText_Name)).setText(b.getString("nome")); 
    //((EditText) findViewById(R.id.editText_URL)).setText(b.getString("url")); 
    id_to_edit = b.getInt("id"); 
} 
Смежные вопросы