将数据以有序方式传递给另一个活动

时间:2012-09-19 16:54:41

标签: android api textview onclicklistener

我有一份大学生涯列表,选择其中一个选项将我带到一个带有多个微调器的LinearLayout,其中包含类调度。在微调器中选择的内容将发送到同一活动中的“textview1”。

我的问题是,在“textview1”中以有序的方式放入另一项活动的最佳方式是什么?当然可以在那里得救。

我有一些示例代码,使用只发送数据的可点击按钮,还有另一个按钮,允许我在您想要查看时启动另一个活动,但问题是在第二个活动中组织信息,我真的要做这么多字符串吗?我希望你能帮我找到更好的方法。我还想说这个应用程序是针对2.1 api,如果这很重要的话。

活性1 = Administracion.java

public class Administracion extends Activity {



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.administracion);

        final TextView lblMensaje = (TextView)findViewById(R.id.LblMensaje);
        final Spinner cmbOpciones = (Spinner)findViewById(R.id.CmbOpciones);

        final String[] datos =
                new String[]{"0031711 Lab Biologia","Lun-Mar 9:30am prof. Marcarian","Elem3","Elem4","Elem5"};


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


        elefante.setDropDownViewResource(
                R.layout.multiline_spinner_dropdown_item);



        cmbOpciones.setAdapter(elefante);

        cmbOpciones.setOnItemSelectedListener(
            new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent,
                    android.view.View v, int position, long id) {
                        lblMensaje.setText("Seleccionado: " + datos[position]);



                }

                public void onNothingSelected(AdapterView<?> parent) {
                    lblMensaje.setText("");
                }

        });


        final TextView lblMensaje1 = (TextView)findViewById(R.id.LblMensaje1);
        final Spinner cmbOpciones1 = (Spinner)findViewById(R.id.CmbOpciones1);

        final String cuervo[] =
           new String[] {"00311712 Biología I","Mar-Jue 7:00am Prof.Briceño","Elem3","Elem4","Elem5"};

     ArrayAdapter<String> adaptador1 =
        new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, cuervo);



    adaptador1.setDropDownViewResource(
            android.R.layout.simple_spinner_dropdown_item);



    cmbOpciones1.setAdapter(adaptador1);

    cmbOpciones1.setOnItemSelectedListener(
        new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent,
                android.view.View v, int position, long id) {          
                    lblMensaje1.setText(cuervo[position]);

            }

            public void onNothingSelected(AdapterView<?> parent) {
                lblMensaje1.setText("");
            }


    });
    Button BotonPasar1;
    BotonPasar1 = (Button)findViewById(R.id.VB1);
     BotonPasar1.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v) {
              // TODO Auto-generated method stub

            String Aguila;
            String Canario;
              Aguila = lblMensaje.getText().toString();
              Canario = lblMensaje1.getText().toString();
              SharedPreferences mypreferences = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
              SharedPreferences.Editor editor = mypreferences.edit();
              editor.putString("Canario", Aguila);
              editor.commit();

              SharedPreferences mypreferences1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
              SharedPreferences.Editor editor1 = mypreferences1.edit();
              editor1.putString("Canario", Aguila);
              editor1.commit();

        }

    });
     Button BotonPasar2;
     BotonPasar2 = (Button)findViewById(R.id.VB2);
      BotonPasar2.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v) {
              // TODO Auto-generated method stub
            Intent pasarahorario = new Intent("com.reversiblelabs.unisvenecas.udobeta.HORARIO");                          
          startActivity(pasarahorario);

        }

     });


    }

}

活动2 = Horario.java

public class Horario extends Activity{

    TextView llegada, llegada2, llegada3, llegada4;  

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.horario);
          llegada = (TextView) findViewById(R.id.tv1); 
          llegada2 = (TextView) findViewById(R.id.tv2);
          SharedPreferences mypreferences = getApplicationContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
          SharedPreferences mypreferences1 = getApplicationContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
          String teamnamestring = mypreferences.getString("canario", "no_name");
          String hola = mypreferences1.getString("Canario","no_name");
          llegada.setText(teamnamestring);
          llegada2.setText(hola);

这是第一个活动,最后一个按钮将textwiews上的数据发送到第二个活动,第一个按钮启动第二个活动。

1st Activity

无论你在旋转器上选择什么,都可以在自己的文本视图中看到。

现在这是第二个活动,我希望数据按小时垂直组织

7:00 9:00数学

9:00 11:00 chemestry

11:00 1:00额外

2nd Activity

我可以做些什么来完成这个?

1 个答案:

答案 0 :(得分:0)

  

这是第一个活动,最后一个按钮发送数据   textwiews到第二个活动,第一个按钮启动   第二项活动。

无需这样做。只有最后一个按钮才能发送所有数据,并启动第二个活动。

Bundle bundle = new Bundle();
bundle.putString("some constant1", value1);
bundle.putString("some constant2", value2);
Intent intent = new Intent (this, newActvity.class);
intent.putExtra(bundle);
startActivity(intent);
  

现在这是第二个活动,我希望数据有条理   垂直按小时

使用RelativeLayout,laydown查看一个在另一个下面并在第二个活动中接收包并向用户显示它们。