14/04/18, 09:08:24
|
|
Betatester oficial
|
|
Fecha de registro: dic 2008
Localización: Valencia
Mensajes: 625
Modelo de smartphone: NEXUS 5 - ONEPLUS 3
Tu operador: Pepephone
|
|
Cita: Originalmente Escrito por mocelet
Lo único que he leído acerca de un getIntent deprecated es que lo estés llamando desde un fragment y no desde una activity. ¿Ese onCreate que pones en qué clase está y de qué tipo es?
El activity que envia los datos, ressumido:
El getData() es el que me trae el nombre, en la app funciona correctamente
Código:
class CActividades : AppCompatActivity(), View.OnClickListener, AdapterView.OnItemSelectedListener {
var textViewNombre: TextView? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.c_actividades)
textViewNombre = findViewById(R.id.tv_nombre) as TextView
getData()
}
override fun onNothingSelected(parent: AdapterView<*>) {
textViewNombre !!.text = ""
}
fun pdf(v: View) {
val intent = Intent(this, Pdf::class.java)
intent.putExtra("Nombre", textViewNombre !!.text.toString())
startActivity(intent)
}
}
El que recibe los datos:
Código:
class Pdf : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_pdf)
verifyStoragePermissions(this)
createPdf()
}
companion object {
// Storage Permissions
private val REQUEST_EXTERNAL_STORAGE = 1
private val PERMISSIONS_STORAGE = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
fun verifyStoragePermissions(activity: Activity) {
if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE)
}
}
}
fun createPdf() {
//create document object
val document = Document()
//output file path
val date = Date()
val timeStamp = SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.getDefault()).format(date)
val dir = "${Environment.getExternalStorageDirectory()}/MyFolder"
File(dir).mkdirs()
val outpath = Environment.getExternalStorageDirectory().toString() + "/MyFile" +
File.separator + timeStamp + ".pdf"
try {
PdfWriter.getInstance(document, FileOutputStream(outpath))
document.open()
val fontCabecera = Font(Font.FontFamily.UNDEFINED, 10f, Font.BOLD, BaseColor.GRAY)
val fontNormalNegrita = Font(Font.FontFamily.UNDEFINED, 8f, Font.BOLD)
val fontNormalCursiva = Font(Font.FontFamily.UNDEFINED, 8f, Font.ITALIC)
val fontNormal = Font(Font.FontFamily.UNDEFINED, 8f)
val fontPequenya = Font(Font.FontFamily.UNDEFINED, 6f)
//var intent: Intent? = null
var intent = Intent()
DatosChofer.add("8. Apellidos y nombre: " + intent.getStringExtra("F. Nacimiento"))
DatosChofer.add(Chunk.NEWLINE)
document.close()
} catch (e: FileNotFoundException) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (e: DocumentException) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
}
El boton para abrir el activity Pdf.kt
Código:
<Button
android:id="@+id/button_send"
android:text="SIGUIENTE"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="20dp"
android:onClick="pdf"/>
He de decir que el pdf se crea correctamente, lo unico es que no recibe los datos, puesto que esto es el resultado:
Código:
8. Apellidos y nombre: null
|