Android 获取错误很遗憾,应用程序已停止工作&;如何添加链接,当我们点击城市的形象应该显示?

Android 获取错误很遗憾,应用程序已停止工作&;如何添加链接,当我们点击城市的形象应该显示?,android,Android,我想让两个下拉列表框一个显示日历另一个列表显示城市名称。当我们单击城市时,它们会显示该可单击城市加载的某些图像,以及显示该单击的日期和时间 public class MainActivity extends Activity { Integer[] imageIDs={ R.drawable.banglore, R.drawable.mathura, R.drawable.mumbai, R.dra

我想让两个下拉列表框一个显示日历另一个列表显示城市名称。当我们单击城市时,它们会显示该可单击城市加载的某些图像,以及显示该单击的日期和时间

public class MainActivity extends Activity 
{
Integer[] imageIDs={
            R.drawable.banglore,
            R.drawable.mathura,
            R.drawable.mumbai,
            R.drawable.akkalkot};
    Gallery city=(Gallery)findViewById(R.id.city);

     String[] items; 
     TimePicker timePicker;
     DatePicker datePicker;
     int hour,minute;
     static final int TIME_DIALOG_ID=0;



     //Initializing my the member of xml file.

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Spinner spin=(Spinner)findViewById(R.id.spinner);
        items = getResources().getStringArray(R.array.items_array);

        spin.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                city.setBackgroundResource(R.drawable.banglore);
                city.setBackgroundResource(R.drawable.mathura);
                city.setBackgroundResource(R.drawable.mumbai);
                city.setBackgroundResource(R.drawable.akkalkot);


            }
        });
        timePicker=(TimePicker)findViewById(R.id.timepicker);
        timePicker.setIs24HourView(true);
        showDialog(TIME_DIALOG_ID);
        datePicker=(DatePicker)findViewById(R.id.datepicker);

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

        spin.setAdapter(aa);
        spin.setOnItemSelectedListener(new OnItemSelectedListener() 
        {
            public void onItemSelected(AdapterView<?>parent,View view,int position,long id)
            {
                int index=parent.getSelectedItemPosition();
                Toast.makeText(getBaseContext(), "You have selected item:"+ items[index],Toast.LENGTH_SHORT).show();

            //selection.setText(items[position]);

            }

        public void onNothingSelected(AdapterView<?> arg0) 
        {
            // TODO Auto-generated method stub


        }
        });




    }

     protected Dialog onCreateDialog(int id)
    {               
        switch (id) 
        {
            case TIME_DIALOG_ID:
                return new TimePickerDialog(this, mTimeSetListener,hour,minute,false);
        }
        return null;            
    }

    private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
    new TimePickerDialog.OnTimeSetListener()        
    {
        public void onTimeSet(TimePicker view,int hourOfDay,int minuteOfHour)
        {
                hour=hourOfDay;
                minute=minuteOfHour;


                SimpleDateFormat timeFormat= new SimpleDateFormat("hh:mm aa");
                Date date = new Date(0,0,0,hour,minute);
                String strDate=timeFormat.format(date);

                Toast.makeText(getBaseContext(), "You have selected"+strDate,
                        Toast.LENGTH_SHORT).show();                 
        }           
    };  


    public void onClick(View view)
    {
        Toast.makeText(getBaseContext(), "Date selected:"
            +(datePicker.getMonth()+1)+
            "/"+datePicker.getDayOfMonth()+
            "/"+datePicker.getYear()+"\n"+
            "Time selected:"+timePicker.getCurrentHour()+
            ":"+timePicker.getCurrentMinute(),
            Toast.LENGTH_SHORT).show();     
    }


}
just give onclick event to time & date.
公共类MainActivity扩展活动
{
整数[]图像ID={
R.drawable.banglore,
R.drawable.mathura,
R.drawable.孟买,
R.drawable.akkalkot};
画廊城市=(画廊)findViewById(R.id.city);
字符串[]项;
时间选择器;
日期选择器;
整小时,分钟;
静态最终整数时间对话框ID=0;
//正在初始化xml文件的成员。
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器旋转=(微调器)findViewById(R.id.Spinner);
items=getResources().getStringArray(R.array.items\u数组);
spin.setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
//TODO自动生成的方法存根
城市.挫折资源(R.可绘制.班格罗);
城市.挫折资源(R.drawable.mathura);
城市。挫折资源(R.drawable。孟买);
城市.退耕地资源(R.drawable.akkalkot);
}
});
timePicker=(timePicker)findviewbyd(R.id.timePicker);
timePicker.setIs24HourView(true);
showDialog(时间对话框ID);
datePicker=(datePicker)findViewById(R.id.datePicker);
ArrayAdaptera=新的ArrayAdapter(这个,android.R.layout.simple\u微调器\u项,项);
旋转适配器(aa);
spin.setOnItemSelectedListener(新的OnItemSelectedListener()
{
已选择公共位置(AdapterViewparent、View、int位置、长id)
{
int index=parent.getSelectedItemPosition();
Toast.makeText(getBaseContext(),“您已选择项:”+items[index],Toast.LENGTH\u SHORT.show();
//selection.setText(项目[位置]);
}
未选择公共无效(AdapterView arg0)
{
//TODO自动生成的方法存根
}
});
}
受保护的对话框onCreateDialog(int id)
{               
开关(id)
{
案例时间\u对话框\u ID:
返回新的TimePickerDialog(this,mTimeSetListener,hour,minute,false);
}
返回null;
}
私有时间选择器Dialog.OnTimeSetListener MTTimeSetListener=
新的TimePickerDialog.OnTimeSetListener()
{
时间集上的公共void(时间选择器视图,整数小时数,整数分钟数)
{
小时=小时/天;
分钟=小时分钟数;
SimpleDataFormat timeFormat=新的SimpleDataFormat(“hh:mm aa”);
日期=新日期(0,0,0,小时,分钟);
字符串strDate=timeFormat.format(日期);
Toast.makeText(getBaseContext(),“您已选择”+strDate,
吐司。长度(短)。show();
}           
};  
公共void onClick(视图)
{
Toast.makeText(getBaseContext(),“选定日期:”
+(datePicker.getMonth()+1)+
“/”+datePicker.getDayOfMonth()+
“/”+datePicker.getYear()+“\n”+
“所选时间:”+timePicker.getCurrentHour()+
“:”+timePicker.getCurrentMinute(),
吐司。长度(短)。show();
}
}
只需将onclick事件指定为time和date。
这是我作业的XML文件

activity.xml

<LinearLayout 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:orientation="vertical"
    tools:context=".MainActivity" >




    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Assignment1" />

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btnset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:onClick="onClick"
        android:text="I am all set!" />

    <DatePicker
        android:id="@+id/datepicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right" />

    <TimePicker
        android:id="@+id/timepicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right" />

    <ImageView
        android:id="@+id/mumb"
        android:layout_width="118dp"
        android:layout_height="42dp"
        android:src="@drawable/mumbai"
/>

    <Gallery
        android:id="@+id/city"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />"

    <ImageView
        android:id="@+id/math"
        android:layout_width="46dp"
        android:layout_height="34dp"
        android:layout_marginTop="40dp"
        android:src="@drawable/mathura"
 />

    <ImageView
        android:id="@+id/akka"
        android:layout_width="75dp"
        android:layout_height="47dp"
        android:src="@drawable/akkalkot"
/>

    <ImageView
        android:id="@+id/bang"
        android:layout_width="58dp"
        android:layout_height="36dp"
        android:layout_gravity="right"
        android:src="@drawable/banglore" 
        />



</LinearLayout>

"
这是我的任务清单文件

manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.incraft.assignment"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.incraft.assignment.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Logcat是:

12-31 00:51:49.910: D/AndroidRuntime(954): Shutting down VM
12-31 00:51:49.910: W/dalvikvm(954): threadid=1: thread exiting with uncaught exception (group=0xb4a8bb90)
12-31 00:51:49.980: E/AndroidRuntime(954): FATAL EXCEPTION: main
12-31 00:51:49.980: E/AndroidRuntime(954): Process: com.incraft.assignment, PID: 954
12-31 00:51:49.980: E/AndroidRuntime(954): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.incraft.assignment/com.incraft.assignment.MainActivity}: java.lang.NullPointerException
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread.access$700(ActivityThread.java:135)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.os.Handler.dispatchMessage(Handler.java:102)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.os.Looper.loop(Looper.java:137)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread.main(ActivityThread.java:4998)
12-31 00:51:49.980: E/AndroidRuntime(954):  at java.lang.reflect.Method.invokeNative(Native Method)
12-31 00:51:49.980: E/AndroidRuntime(954):  at java.lang.reflect.Method.invoke(Method.java:515)
12-31 00:51:49.980: E/AndroidRuntime(954):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-31 00:51:49.980: E/AndroidRuntime(954):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-31 00:51:49.980: E/AndroidRuntime(954):  at dalvik.system.NativeStart.main(Native Method)
12-31 00:51:49.980: E/AndroidRuntime(954): Caused by: java.lang.NullPointerException
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.Activity.findViewById(Activity.java:1883)
12-31 00:51:49.980: E/AndroidRuntime(954):  at com.incraft.assignment.MainActivity.<init>(MainActivity.java:42)
12-31 00:51:49.980: E/AndroidRuntime(954):  at java.lang.Class.newInstanceImpl(Native Method)
12-31 00:51:49.980: E/AndroidRuntime(954):  at java.lang.Class.newInstance(Class.java:1208)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
12-31 00:51:49.980: E/AndroidRuntime(954):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2093)
12-31 00:51:49.980: E/AndroidRuntime(954):  ... 11 more
12-31 00:52:28.678: I/Process(954): Sending signal. PID: 954 SIG: 9
12-31 00:51:49.910:D/AndroidRuntime(954):关闭虚拟机
12-31 00:51:49.910:W/dalvikvm(954):threadid=1:线程以未捕获异常退出(组=0xb4a8bb90)
12-31 00:51:49.980:E/AndroidRuntime(954):致命异常:主
12-31 00:51:49.980:E/AndroidRuntime(954):进程:com.incraft.assignment,PID:954
12-31 00:51:49.980:E/AndroidRuntime(954):java.lang.RuntimeException:无法实例化活动组件信息{com.incraft.assignment/com.incraft.assignment.MainActivity}:java.lang.NullPointerException
12-31 00:51:49.980:E/AndroidRuntime(954):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102)
12-31 00:51:49.980:E/AndroidRuntime(954):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
12-31 00:51:49.980:E/AndroidRuntime(954):在android.app.ActivityThread.access$700(ActivityThread.java:135)
12-31 00:51:49.980:E/AndroidRuntime(954):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
12-31 00:51:49.980:E/AndroidRuntime(954):位于android.os.Handler.dispatchMessage(Handler.java:102)
12-31 00:51:49.980:E/AndroidRuntime(954):在android.os.Looper.loop(Looper.java:137)
12-31 00:51:49.980:E/AndroidRuntime(954):位于android.app.ActivityThread.main(ActivityThread.java:4998)
12-31 00:51:49.980:E/AndroidRuntime(954):位于java.lang.reflect.Method.Invokenactive(本机方法)
12-31 00:51:49.980:E/AndroidRuntime(954):位于java.lang.reflect.Method.invoke(Method.java:515)
12-31 00:51:49.980:E/AndroidRuntime(954):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-31 00:51:49.980:E/AndroidRuntime(954):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-31 00:51:49.980:E/AndroidRuntime(954):在dalvik.system.NativeStart.main(本机方法)
12-31 00:51:49.980:E/AndroidRuntime(954):由以下原因引起:java.lang.NullPointerException
12-31 00
 Gallery city; // declare a instance variable
 @Override
 public void onCreate(Bundle savedInstanceState) 
 {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    city=(Gallery)findViewById(R.id.city); // initialize here
Gallery city=(Gallery)findViewById(R.id.city); 
public class MainActivity extends Activity 
{
    Integer[] imageIDs={
        R.drawable.banglore,
        R.drawable.mathura,
        R.drawable.mumbai,
        R.drawable.akkalkot};
    Gallery city;

    String[] items; 
    TimePicker timePicker;
    DatePicker datePicker;
    int hour,minute;
    static final int TIME_DIALOG_ID=0;

    //Initializing my the member of xml file.

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        city = (Gallery)findViewById(R.id.city);

// ...