CalendarView可点击机器人 [英] CalendarView Clickable Android

查看:122
本文介绍了CalendarView可点击机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想开始一个新的活动,当你点击CalendarView一个日期,但我的事件似乎并没有开火。我已经设置点击为真,并指定一个onclick(无论是在XML)

这是XML:

 < RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
     的xmlns:工具=htt​​p://schemas.android.com/tool​​s
     机器人:layout_width =match_parent
     机器人:layout_height =match_parent>

     < CalendarView
     机器人:ID =@ + ID / calendarView1
     机器人:layout_width =match_parent
     机器人:layout_height =match_parent
     机器人:layout_alignParentLeft =真
     机器人:layout_alignParentTop =真
     机器人:可点击=真
     机器人:的onClick =CalendarClick/>

     < / RelativeLayout的>
 

这是我的code日历活动:

 公共类CalendarActivity扩展活动
    {


      @覆盖
      公共无效的onCreate(包savedInstanceState)
      {
       super.onCreate(savedInstanceState);
       的setContentView(R.layout.activity_calendar);
      }

     @覆盖
     公共布尔onCreateOptionsMenu(菜单菜单)
     {
      。getMenuInflater()膨胀(R.menu.activity_calendar,菜单);
      返回true;
     }

     公共无效CalendarClick(查看视图)
     {
      意图myIntent =新的意图(CalendarActivity.this,MainActivity.class);
      CalendarActivity.this.startActivity(myIntent);
     }
  }
 

解决方案

这工作得很好......

 进口android.app.Activity;
    进口android.os.Bundle;
    进口android.view.View;
    进口android.widget.CalendarView;
    进口android.widget.CalendarView.OnDateChangeListener;
    进口android.widget.Toast;


    公共类NewAct延伸活动{
    @覆盖
    保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
         的setContentView(R.layout.newact);
        CalendarView calendarView =(CalendarView)findViewById(R.id.calendarView1);
        calendarView.setOnDateChangeListener(新OnDateChangeListener(){

            @覆盖
            公共无效onSelectedDayChange(CalendarView来看,INT年,月整型,
                    INT DAYOFMONTH){
                 Toast.makeText(getApplicationContext(),+ DAYOFMONTH,0).show(); // TODO自动生成方法存根

            }
        });
    }
 

这是XML

 < XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    的xmlns:工具=htt​​p://schemas.android.com/tool​​s
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent>

    < CalendarView
        机器人:ID =@ + ID / calendarView1
        机器人:layout_width =match_parent
        机器人:layout_height =match_parent
        机器人:layout_alignParentLeft =真
        机器人:layout_alignParentTop =真
        />

< / RelativeLayout的>
 

I am trying to start a new activity when you click on a date in CalendarView but my event doesn't seem to fire. I have set clickable to true and specified an onclick (both in xml)

this is the 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" >

     <CalendarView
     android:id="@+id/calendarView1"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:clickable="true"      
     android:onClick="CalendarClick" />

     </RelativeLayout>

this is my code for the calendar activity:

    public class CalendarActivity extends Activity 
    {


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

     @Override
     public boolean onCreateOptionsMenu(Menu menu) 
     {
      getMenuInflater().inflate(R.menu.activity_calendar, menu);
      return true;
     }

     public void CalendarClick(View view)
     {
      Intent myIntent = new Intent(CalendarActivity.this, MainActivity.class);
      CalendarActivity.this.startActivity(myIntent);
     }      
  }

解决方案

This works fine.....

 import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.CalendarView;
    import android.widget.CalendarView.OnDateChangeListener;
    import android.widget.Toast;


    public class NewAct extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.newact);
        CalendarView calendarView=(CalendarView) findViewById(R.id.calendarView1);
        calendarView.setOnDateChangeListener(new OnDateChangeListener() {

            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month,
                    int dayOfMonth) {
                 Toast.makeText(getApplicationContext(), ""+dayOfMonth, 0).show();// TODO Auto-generated method stub

            }
        });
    }

And this is xml

<?xml version="1.0" encoding="utf-8"?>
<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" >

    <CalendarView
        android:id="@+id/calendarView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"  
        />

</RelativeLayout>

这篇关于CalendarView可点击机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆