Risorsa string di riferimento dal codice

Ho la seguente string dichiarata in strings.xml:

<string name="last_msg">Your last click was on</string> 

Ora quando qualcuno fa clic su un button, voglio che una visualizzazione di text visualizzi questa string, con uno spazio, quindi un valore variabile che è un timestamp.

  • Come posso aggiungere elementi a un dispositivo di lancio in Android?
  • Nuovo progetto Android non crea layout o file Java
  • Come utilizzare esattamente Notification.Builder
  • Android Come fermare il process di inserimento del database
  • Come visualizzare il file .gif in imageview?
  • Come utilizzare AsyncTask per Jsoup Parser?
  • Purtroppo, usando @ string / last_msg non funziona, e non sono sicuro di come farlo correttamente, quindi non sto hardcoding nel contenuto.

    Ecco il mio codice per la function onClick:

     public void showMsgNow(View view) { TextView lastMsg = (TextView)findViewById(R.id.textView2); long currentTimeStamp = System.currentTimeMillis(); lastMsg.setText(@string/last_msg + " " + currentTimeStamp); } 

    Sono un principiante, qualsiasi aiuto sarebbe stato fantastico!

  • C'è un modo per modificare il nome di un'applicazione nell'App Store di Google Play?
  • Che cosa è onCreate (Bundle savedInstanceState)
  • IllegalStateException: PagerAdapter dell'applicazione ha modificato il contenuto dell'adattatore senza call PagerAdapter # notifyDataSetChanged
  • Come verificare l'applicazione Dock
  • Come utilizzare il branch di git con Android Studio
  • ClassCastException android.widget.FrameLayout $ LayoutParams a android.support.v4.widget.DrawerLayout $ LayoutParams
  • 5 Solutions collect form web for “Risorsa string di riferimento dal codice”

    Ho trovato la risposta su Google:

     getString(R.string.last_msg) 

    non puoi accedere a String direttamente da @ , per cui devi avere risorse di context e quindi farlo …

     lastMsg.setText(context.getResources().getString(R.string.last_msg) + " " + currentTimeStamp); 

    nel tuo caso utilizzare

     <string name="last_msg">Your last click was on %1$s</string> 

    implementazione:

     public void showMsgNow(View view) { TextView lastMsg = (TextView)findViewById(R.id.textView2); long currentTimeStamp = System.currentTimeMillis(); lastMsg.setText(context.getResources() .getString(R.string.last_msg, currentTimeStamp)); } 
     // getString is method of context if (this instanceof Context) //If you are in Activity or Service class lastMsg.setText(getString(R.string.last_msg)+ " " + currentTimeStamp); else //you need to context to get the string lastMsg.setText(getString(mContext,R.string.last_msg)+ " " + currentTimeStamp); public String getString(Context mContext, int id){ return mContext.getResources().getString(id); } 

    utilizzare sotto la linea

      lastMsg.setText(getString(R.string.last_msg) + " " + currentTimeStamp); 

    Prova questo :

     lastMsg.setText(R.string.last_msg + " " + new SimpleDateFormat(d-MM-YYYY).format(new Date())); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.