2013-12-02 9 views
0

Заданный вопрос до этого, но не получил его должным образом. Является новичком. С этим трудно справиться. Выход в программу отображается в той же самой деятельности. Я просто хочу видеть результат отображается в другом действии. Ниже mainActivity.javaОтображение результата в другом действии

package com.example.knowyourself; 

import android.os.Bundle; 

public class MainActivity extends Activity { 
Button submit; 
String temp,out;  
DatePicker dt; 
int day, month, year, choice; 

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

} 

public void addListenerOnButton() 
{ 
    submit = (Button) findViewById(R.id.button1);   
    dt = (DatePicker) findViewById(R.id.datePicker1); 
    submit.setOnClickListener(new OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      day = dt.getDayOfMonth(); 
      month = dt.getMonth();  
      year = dt.getYear();   
      choice = (day + month + year) % 5; 
      switch (choice) 
      { 
      ........... 
          ........... 
      out="You are"+temp; 
      Toast t = Toast.makeText(MainActivity.this,out, 
        Toast.LENGTH_SHORT);          
      t.show();              
     } 
}); 
} 
} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/green" 
> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="76dp" 
    android:text="@string/Date" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    tools:ignore="HardcodedText" 
    android:textColor="@color/blue" 
    android:textScaleX="0.9" 
    /> 

<DatePicker 
    android:id="@+id/datePicker1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="61dp" 
    android:background="@color/lightblue" 

    /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/datePicker1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="54dp" 
    android:text="" 
    tools:ignore="HardcodedText" 
    android:background="@drawable/one" 
    /> 

</RelativeLayout> 
+0

вы можете использовать намерение или sharedpreferences обмениваться данными через приложение, читать о тех –

+1

Я думаю, ваша проблема больше о понимании того, что деятельность является - это может означать, что вы пытаетесь сделать то, что вам тяжело (пока). Точное решение зависит от того, работаете ли вы в какой-либо другой деятельности, чтобы получать данные, или вы делаете операцию, которая пытается отправить данные назад. – fdreger

+0

Что не так с этим ответом http://stackoverflow.com/a/20323845/1112882 на ваш старый вопрос? Уточняйте вещи вместо того, чтобы создавать другой вопрос. –

ответ

0

Вы можете отправить out на другой вид деятельности, используя Intent

Что-то вдоль линий:

Intent intent = new Intent(MainActivity.this,AnotherActivity.class); 
intent.putExtra("out",out); 
startActivity(intent); 

Другой вариант: SharedPreferences, но я f Угол как Intent лучше в этом случае.

0

попробуйте прочитать this, это хороший учебник для начинающих, и вы получите лучшее понимание для передачи данных из текущей деятельности в другую деятельность. Это был первый урок для меня.

1

удалите тост и сделайте это в своем файле.

Intent i = new Intent(MainActivity.this, SecondActivity.class); 
i.putExtra("STRING_DATE", out); 
startActivity(i); 

на втором занятии, как сделать это в OnCreate() метод,

Textv = (TextView)findViewById(R.id.tv); 
String output = getIntent().getExtras().getString("STRING_DATE"); 
Textv.setText(output); 

Результат будет отображаться на второй деятельности;

0

Отправлять данные, используя это намерение.

Intent i = new Intent(MainActivity.this,SecondActivity.class); i.putExtra("yourdataName",yourdataValue);

и получить эти данные в SecondActivity используя Bundle, как это.

Bundle b = getIntent().getExtras(); 
String strUrData=b.getString("yourdataName"); 
0
public void addListenerOnButton() 
{ 
submit = (Button) findViewById(R.id.button1);   
dt = (DatePicker) findViewById(R.id.datePicker1); 
submit.setOnClickListener(new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     day = dt.getDayOfMonth(); 
     month = dt.getMonth();  
     year = dt.getYear();   
     choice = (day + month + year) % 5; 
     switch (choice) 
     { 
     ........... 
         ........... 
     out="You are"+temp; 
     Intent intent = new Intent(MainActivity.this,AnotherActivity.class); 
     intent.putExtra("out",out); 
     startActivity(intent);              
    } 
    }); 
    } 

и во второй деятельности:

public class AnotherActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState)  
    { 
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.activity_main1);  
    Bundle b=getIntent().getExtras(); 
    if(b!=null){ 
    String str=b.getString("out"); 

    Toast t = Toast.makeText(AnotherActivity.this,str, 
       Toast.LENGTH_SHORT);          
     t.show(); 

    } 

    } 

    and don't forget to declare the Second Activity in the manifest file 
+0

он показывает ошибку, когда я печатаю «out» в toast.Rest все в порядке. – user3035473

+0

проверить сейчас .. ответ отредактирован – sijeesh

+0

спасибо, что работает, но все в 1-м макете (activity_main) отображается во втором действии при отображении результата во втором действии. – user3035473

Смежные вопросы