3.751111111111Rating 3.75 (4 Votes)

Существует задача - передать данные значений одного из видов (View) из одного Activity в другое, делается это при помощи putExtra, getStringExtra (доп. инфо можно посмотреть здесь) и так имеется два Activity, на первом есть пару видов - TextView и EditText, если EditText пустой, то данные передаются из TextView, если нет то из самого EditText.

MainActivity.java - OnCreate

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText ed = (EditText) findViewById(R.id.editText1);
        final TextView tv = (TextView) findViewById(R.id.textView1);
        
        Button btnPut = (Button) findViewById(R.id.button1);
        btnPut.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent secAct = new Intent(getApplicationContext(),
                        SecondActivity.class);
                // Get views data
                final String edStr = ed.getText().toString();
                final String str = tv.getText().toString();
                // Check data
                if (edStr.matches("")) {
                    secAct.putExtra("KEY", str);
                } else {
                    secAct.putExtra("KEY", edStr);
                }
                //Start intent
                startActivity(secAct);

            }
        });
    }

SecondActivity.java - onCreate

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        
        TextView tv = (TextView)findViewById(R.id.textView2);
        Intent intent = getIntent();
        tv.setText(intent.getStringExtra("KEY"));
        
        Button btnBack = (Button)findViewById(R.id.button2);
        btnBack.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                Intent firstAct = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(firstAct);
                
            }
        });        
    }

}

 

box download 9680

SendActivityData

Добавить комментарий


Защитный код
Обновить

Сейчас 165 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз