2013-07-29 44 views
0

如何将选定的按钮值作为参数传递给另一个活动?下面是我的代码,这是截屏http://imgur.com/YkbE8AS我的代码显示日历水平假设用户选择在一周的任何一天是星期三它不是固定值是动态值,因此我如何通过使用年份和月份指定日值到另一个活动作为参数????在我的cdoe 7按钮哪些文本是动态的我想要当用户点击任何一天的值与当前的月份和年份作为参数传递给另一个活动假设abc.java当按钮mybutton将点击??如何将选定日期值作为参数传递给其他活动?

  public class HoyahCalendar extends Activity { 
public static int mYear; 
public static int currentIndex = -1; 
public static int mMonth; 
public static int mDay; 
public static String[][] a = new String[6][7]; 
String January="January"; 
String February="February"; 
String March="March"; 
String April="April"; 
String May="May"; 
String June="June"; 
String Jully="Jully"; 
String August="August"; 
String September="September"; 
String October="October"; 
String November="November"; 
String December="December"; 
String Monthname; 

TextView date_today; 
ImageView last_month; 
ImageView next_month; 

ImageView last_week; 
ImageView next_week; 


Button e00; 
Button e01; 
Button e02; 
Button e03; 
Button e04; 
Button e05; 
Button e06; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    getIntent().setAction("Already created"); 


    date_today = (TextView) findViewById(R.id.date_today); 
    last_month = (ImageView) findViewById(R.id.last_month); 
    next_month = (ImageView) findViewById(R.id.next_month); 
    last_week = (ImageView) findViewById(R.id.last_week); 
    next_week = (ImageView) findViewById(R.id.next_week); 



    e00 = (Button) findViewById(R.id.e00); 
    e01 = (Button) findViewById(R.id.e01); 
    e02 = (Button) findViewById(R.id.e02); 
    e03 = (Button) findViewById(R.id.e03); 
    e04 = (Button) findViewById(R.id.e04); 
    e05 = (Button) findViewById(R.id.e05); 
    e06 = (Button) findViewById(R.id.e06); 

    Calendar mCalendar = Calendar.getInstance(); 
    mYear = mCalendar.get(Calendar.YEAR); 
    mMonth = mCalendar.get(Calendar.MONTH) + 1; 
    mDay = mCalendar.get(Calendar.DAY_OF_MONTH); 



    last_month.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      if (mMonth == 1) { 
       mYear -= 1; 
       mMonth = 12; 
       new ShowCalendar(mYear, mMonth); 
       showOnScreen(); 
      } else { 
       mMonth -= 1; 
       new ShowCalendar(mYear, mMonth); 
       showOnScreen(); 
      } 

     } 
    }); 

    next_month.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      if (mMonth == 12) { 
       mYear += 1; 
       mMonth = 1; 
       new ShowCalendar(mYear, mMonth); 
       showOnScreen(); 
      } else { 
       mMonth += 1; 
       new ShowCalendar(mYear, mMonth); 
       showOnScreen(); 
      } 

     } 
    }); 

    last_week.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      if (mMonth == 1) { 
       mYear -= 1; 
       mMonth = 12; 
       new ShowCalendar(mYear, mMonth, mDay, "last"); 
       showOnScreen(); 
      } else { 
       // mMonth -= 1; 
       new ShowCalendar(mYear, mMonth, mDay, "last"); 
       showOnScreen(); 
      } 
     } 
    }); 

    next_week.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      if (mMonth == 12) { 
       mYear += 1; 
       mMonth = 1; 
       new ShowCalendar(mYear, mMonth, mDay, "next"); 
       showOnScreen(); 
      } else { 
       if (HoyahCalendar.currentIndex == 4) { 
        HoyahCalendar.currentIndex = 4; 
        // mMonth += 1; 
       } 

       new ShowCalendar(mYear, mMonth, mDay, "next"); 
       showOnScreen(); 
      } 

     } 
    }); 

    new ShowCalendar(mYear, mMonth); 
    showOnScreen(); 

    } 

     public void showOnScreen() { 

    if (mMonth ==1) 
    { 
     Monthname="January"; 
     } 
    else 
     if (mMonth ==2) { 
      Monthname="February"; 
      } 

     else 
    if (mMonth ==3) { Monthname="March";} 
    else 
     if (mMonth ==4) { Monthname="April"; } 

     else 
    if (mMonth ==5) { Monthname="May";} 
    else 
     if (mMonth ==6) { Monthname="June"; } 
     else 
    if (mMonth ==7) { Monthname="July";} 
    else 
     if (mMonth ==8) { Monthname="August"; } 
     else 
    if (mMonth ==9) { Monthname="September";} 
    else 
     if (mMonth ==10) { Monthname="October"; } 
    if (mMonth ==11) { Monthname="November";} 
    else 
     if (mMonth ==12) { Monthname="December"; } 


    date_today.setText( Monthname + " " +mYear); 
    e00.setText("" + a[0][0]); 


    if(e00.getText().toString().equals(String.valueOf(mDay))) 



    {e00.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button1 text equals!", Toast.LENGTH_SHORT).show(); 

    } 

    else 
    { 
     e00.setTextColor(Color.parseColor("#000000")); 
    } 


    e01.setText("" + a[0][1]); 

    if(e01.getText().toString().equalsIgnoreCase (String.valueOf(mDay))) 


    { 
     e01.setTextColor(Color.parseColor("#FFBBFF")); 

    Toast.makeText(this, "Button2 text equals!", Toast.LENGTH_SHORT).show(); 

    } 
    else 
    { 
     e01.setTextColor(Color.parseColor("#000000")); 
    } 

    e02.setText("" + a[0][2]); 
    if(e02.getText().toString().equals(String.valueOf(mDay))) 

    {e02.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button3 text equals!", Toast.LENGTH_SHORT).show(); 

    } 
    else 
    { 
     e02.setTextColor(Color.parseColor("#000000")); 
    } 
    e03.setText("" + a[0][3]); 
    if(Integer.parseInt(e03.getText().toString()) == mDay) 
    {e03.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button4 text equals!", Toast.LENGTH_SHORT).show(); 

    } 


    else 
    { 
     e03.setTextColor(Color.parseColor("#000000")); 
    } 


    e04.setText("" + a[0][4]); 
    if(e04.getText().toString().equals(String.valueOf(mDay))) 
    {e04.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button5 text equals!", Toast.LENGTH_SHORT).show(); 

    } 

    else 
    { 
     e04.setTextColor(Color.parseColor("#000000")); 
    } 


    e05.setText("" + a[0][5]); 
    if(e05.getText().toString().equals(String.valueOf(mDay))) 
    {e05.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button6 text equals!", Toast.LENGTH_SHORT).show(); 

    } 

    else 
    { 
     e05.setTextColor(Color.parseColor("#000000")); 
    } 

    e06.setText("" + a[0][6]); 
    if(e06.getText().toString().equals(String.valueOf(mDay))) 
    {e06.setTextColor(Color.parseColor("#FFBBFF")); 
    Toast.makeText(this, "Button7 text equals!", Toast.LENGTH_SHORT).show(); 

    } 


    else 
    { 
     e06.setTextColor(Color.parseColor("#000000")); 
    } 


} 


public void onRestart() { 
    super.onRestart(); 
     Intent intent = getIntent(); 
     finish(); 
     startActivity(intent); 
     } 
+1

开始了新的活动的意图时传递一天,一个整型附加。 – kabuto178

+0

您可以使用意向()。putExtra(名称,值)活动之间传递数据 –

回答

0

好,ü说,你知道如何通过捆绑意图,为什么不ü创建一个初始化与当前日期在您的类的变量。

variable value = current date; 

任何按钮的onClick你改变的变量值要发送到你的活动

onClick(){ 
value = value you want to send 
} 

,并发送参数捆绑的意图之一。

因此您的要求:

" if user not click any value then go current date value as parameter else what ever button eser click that day value will go as parameter" 

会的工作,如果有什么不点击变量value已经initlialized与当前日期因此将被发送到活动,你可以处理它,你想要的方式。

PLZ忽略语法,其JST伪代码。

+0

我知道如何通过,但我不知道什么按钮用户点击有7按钮水平如何知道哪个按钮用户点击?它的值将作为参数传递? – user2589245

+0

首先,有没有在您的按钮,点击\代码所示OnClicklistener,如果你能发布的代码,然后可以帮助另外,如果你使用的是常见的点击收听所有按钮,然后就可以区分它们的ID哪个按钮被点击,使用带有按钮的所有ID的交换机的情况下,用view.getID(比较)以及更新变量的值 – Neji

+0

我张贴以上 – user2589245

0

你可以试试这个:

从一个活动传递到另一个信息,当您启动新的,你做到以下几点:

Intent top = new Intent(Main.this, New.class); 
Bundle b = new Bundle(); 
b.putString("key1", "value1"); 
b.putString("key2", "value2"); 
b.putString("key3", "value3"); 
top.putExtras(b); 
startActivity(top); 

然后在新启动的活动中, onCreate()提出如下:

Bundle b = getIntent().getExtras(); 
String one = b.get("key1"); 
String two =b.get("key2"); 
String three =b.get("key3"); 

这将得到从以前的值使用您提供的密钥进行活动。

+0

iknow怎么传值参数,但在我的代码我怎么选择按钮值?????我想如果用户不单击任何值,然后将当前日期值作为参数其他按钮eser单击该日值将作为参数如何做这? – user2589245

+0

您可以创建一个存储点击按钮日的类变量。所以你可以把它传递给意图。 –

+0

怎么样?告诉我怎么样? – user2589245

0

化妆使用function和可变dtSelect 的设定dtSelect = default开头 ,并且如果用户选择任何按钮的特定值设置为dtSelect

一旦u必须存储在dtSelect通的值到一个function(为i.putstring())开展任务ü愿望根据您在该变量具有值...

+0

告诉我实际上请没有明确的书面 – user2589245

+1

我不相信编写确切的代码与所有语法...(我讨厌背诵理解)..但有伪代码,我想我们可以使用Android文档编写语法...一个更暗示可以使用switch语句... –

+0

是U能够区分7次按钮点击不同.... –

相关问题