android - 导出字符串时出错

标签 android string android-intent bundle

我制作了一个连接到 SQL 数据库的应用程序,它们向我返回了数据库表中的条目。

我所做的是:在应用程序中,我可以看到数据库表中的条目。我想要的是:当我在应用程序中选择条目时,它会自动打开另一个窗口并显示我选择的条目。

但现在它给我一个错误(抱歉!应用程序 net Ben(进程 net.ben)意外停止。请重试)并且应用程序正在关闭。我认为它与将 Arraylist 字符串转换为 bundle 字符串有关。

这是我的代码:

public class SeleccionarTipoIncidencia extends Activity {
private ArrayList<String> datos;
public String PRUEBA;
//private ArrayList<String> datosCod;

//public NaviverdeSQLiteHelper usdbh;
protected EspaisVerdsApplication app;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tipoincidencia);
    datos = new ArrayList<String>();
    //datosCod = new ArrayList<String>();

    try {
        NotesCenter messageCenter = new NotesCenterImpl();

        List<TipoIncidencia> tipoincidencia = messageCenter.getTipoIncidencia();

        for (TipoIncidencia e : tipoincidencia) {
            //datosCod.add("1");
            datos.add(e.id);

        }   
        } catch (Exception ex) {
        //  showMessage(ex);
            Log.v("blah", ex.getMessage());
        }

    ArrayAdapter<String> adaptador = 
        new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datos);     

    final TextView lblMensaje = (TextView)findViewById(R.id.MensajeTipoIncidencia);       
    final GridView grdOpciones = (GridView)findViewById(R.id.GridTipoIncidencia);
    Log.i("YourApp", "Argh Works?");
    grdOpciones.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, android.view.View v, int position, long id) {        
            lblMensaje.setText("Incidencia Seleccionada: " + datos.get(position));

                Intent intentTipIni = new Intent(SeleccionarTipoIncidencia.this, FrmIncidencias.class);
                            //Creamos la información a pasar entre actividades
                            Bundle b = new Bundle(); 
                            b.putString("TIPOINCIDENCIA", lblMensaje.getText().toString());

                            //Añadimos la información al intent
                            intentTipIni.putExtras(b);

                            //Iniciamos la nueva actividad
                            startActivity(intentTipIni);
                            Log.i("YourApp", "Bueno7"); 
                            finish();
        }
    });

    grdOpciones.setAdapter(adaptador);
}
}
protected PowerManager.WakeLock wakelock;

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.frmincidencias);

    TextView txtSaludo = (TextView)findViewById(R.id.TxtTipoIncidenciaSeleccionado);

    //Recuperamos la información pasada en el intent
    Bundle bundle = this.getIntent().getExtras();

    //Construimos el mensaje a mostrar
    txtSaludo.setText("Hola " + bundle.getString("TIPOINCIDENCIA"));

我在最后一行遇到错误。

最佳答案

我不太确定 putExtras 是如何工作的,但我相信 putExtra(String, String) 会按预期工作(我用了好几次),所以不用创建一个 Bundle 我会做以下事情:

Intent intentTipIni = new Intent(SeleccionarTipoIncidencia.this, FrmIncidencias.class);
intentTipIni.putExtra("TIPOINCIDENCIA", lblMensaje.getText().toString());
startActivity(intentTipIni);

编辑

也可以是

TextView txtSaludo = (TextView) findViewById(R.id.TxtTipoIncidenciaSeleccionado);

null。你能确定它不是null吗?

关于android - 导出字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658240/

相关文章:

Android Web 浏览器主页

android - 当我事先不知道两个 View 的文本量时,如何对齐两个 EditText View ?

Java String创建和String常量池

自定义 strcpy 编译正常,但无法正常工作

android - 我有哪些选项可以检查 IntentService 是否已经在运行?

android - 在谷歌地图中旋转的颗粒状标记

Android Simple Cursor 弃用和类加载器

java - 我们如何更改标签中的行?

java - 使用 PendingIntent 停止服务

java - 使用两个 Activity [ANDROID] 显示消息输出的问题