2014-09-28 3 views
0

String을 다음 활동에 여분으로 전달하려고 시도하면 정상적으로 작동합니다. 다음 코드와 같은 int를 전달하려고하면 충돌이 발생하고 Resources $ NotFoundException이 throw됩니다. 나는 몇 시간 동안 그 주위를 놀고 있었으므로 나는 이것에 대해 약간의 지침을 얻을 수 있다고 생각했다. getStringExtra()는 작동하지만 getIntExtra()는 null을 반환합니다.

는 putExtra()

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 
     // TODO Auto-generated method stub 
     Intent cP = new Intent("com.example.loldb.championscreen"); 
     int x = arg2 + 1; 
     System.out.println(x); 
     cP.putExtra("champNo", x); 
     startActivity(cP); 

    } 

를 사용하여 값을 전달하는 활동의 코드이며, 여기에 데이터

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_champion_screen); 

    Intent intent = getIntent(); 

    TextView cName = (TextView) findViewById(R.id.cname); 
    int temp = intent.getIntExtra("champNo", 0); 

    //int champNo = Integer.parseInt(temp); 

    cName.setText(temp); 


} 

하면 보려면, getIntExtra()하려고 수신 활동의 코드입니다 가능하면이 문제에 대한 설명을 듣고 싶습니다. 조금 더 이해할 수 있습니다. 미리 감사드립니다.

답변

0

변경

cName.setText(String.valueOf(temp)); 

setText

에이 charactersequence를 취할 것입니다. 리소스 인 int 값을 취하는 메서드가 있습니다. 찾지 못하면 ResourceNotFoundException이됩니다.

public final void setText (int resid) 

int를 취합니다.

는 API 수준에서

public final void setText (CharSequence text) 

추가를 필요로 무엇 1 은 텍스트 뷰의 문자열 값을 설정합니다. TextView는 XML 리소스 파일의 텍스트 문자열로 수행 할 수있는 HTML 형식의 서식을 허용하지 않습니다. 문자열의 스타일을 지정하려면 android.text.style. * 객체를 SpannableString에 연결하거나 XML 리소스 파일에서 형식이 지정된 텍스트를 설정하는 예제를 보려면 사용 가능한 리소스 유형 설명서를 참조하십시오.

+0

오, 나는 int를 취하는 것이 실제로 int를 취하는 것이라고 생각했습니다. 그것은 그것이 자원이라는 것을 결코 내게주지 않았습니다. 감사! – user3370206

+0

@ user3370206에서 setText @ http://developer.android.com/reference/android/widget/TextView.html을 살펴보십시오. – Raghunandan

관련 문제