문제

Hi there is my add_activity.xml

<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" />

And there is my method try to find view of 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");
    }
}

When launch my application the logcat says Resources$NotFoundException

I really don't understand why he can find editText_Time

Can someone help me? :D

도움이 되었습니까?

해결책

The problem is this line:

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

getInt returns an int, so the method setText(int resId) will be called and will search the resource with the value returned by getInt("tempo") which not exists and hence the ResourceNotFoundException.

I assume that you want to set the text with the integer returned by getInt (i.e call the method setText(CharSequence text)). So do:

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

Also don't call getExtras() multiple times. Call it once:

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");
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top