在Android上使用两个或更多活动

时间:2010-08-25 19:45:10

标签: android android-activity

下面的代码,不知道问题是什么

package and.views;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class androidView extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    public boolean onCreateOptionsMenu(Menu menu)
    {
        super.onCreateOptionsMenu(menu);
        menu.add(0,0, 0, "AutoComplete"); 
        menu.add(0,1, 1, "Button"); 
        menu.add(0,2, 2, "CheckBox");
        menu.add(0,3, 3, "EditText"); 
        menu.add(0,4, 4, "RadioGroup");
        menu.add(0,5, 5, "Spinner"); 

        return true;
    }
    /** Override onOptionsItemSelected to execute code for each menu item */
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch(item.getItemId())
        {
        case 0:
            showAutoComplete();
            return true;
        case 1:
            return true;
        case 2:
            return true;
        case 3:
            return true;
        case 4:
            return true;
        case 5:
            return true;

        }
        return true;
    }

public void showAutoComplete()
    { 
        Intent autocomplete = new Intent(this, AutoComplete.class);   
   try{  

        this.startActivity(autocomplete);
   }
catch(Exception e)
{
    System.out.print(" activity not found");
}
   }
}

第二课

package and.views;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;

public class AutoComplete extends Activity{
    public void onCreate(Bundle icircle) {
        super.onCreate(icircle);
        setContentView(R.layout.autocomplete);
       ArrayAdapter<String> monthArray=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Months);
       final AutoCompleteTextView textView= (AutoCompleteTextView)findViewById(R.id.testAutoComplete);
       textView.setAdapter(monthArray);
       final Button changeButton=(Button)findViewById(R.id.testAutoComplete);
       changeButton.setOnClickListener(new Button.OnClickListener(){
          public void onClick(View v)
          {
              changeOption(textView);
          }

       });
       final Button changeButton2 = (Button) findViewById(R.id.textColorButton);
       changeButton2.setOnClickListener(new Button.OnClickListener() 
       { public void onClick(View v)
       { changeOption2(textView);
       }
       });

    }   
    static final String[]Months= new String[]{ "January","February","March","April","May","June","July","August", "September","October","November","December" }; 
    public void changeOption(AutoCompleteTextView text)

    { 
        if (text.getHeight()==100){ text.setHeight(30);
    } 
    else
        { 
        text.setHeight(100); 
        } 
    } public void changeOption2(AutoCompleteTextView text)
    { 
        text.setTextColor(Color.RED); 
    }
    }

清单文件

enter code here<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="and.views"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".androidView"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


        <activity android:name=".AutoComplete" android:label="AutoComplete" android:launchMode="standard" android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
   </application>
</manifest> 

2 个答案:

答案 0 :(得分:1)

Chetan,我不太清楚你在这里遇到的确切问题,但我猜你在尝试启动一个新的Activity时会得到一个nullPointerException?我没有仔细查看您的代码,但我注意到您的Manifest中没有任何额外的活动。无论何时创建要启动的新Activity,都需要将其添加到Manifest。我对Android很陌生,所以我不太清楚为什么会这样,但我之前也遇到过这个问题。

答案 1 :(得分:0)

不太确定答案对你来说太晚了。

我找不到关于simple_list_item_1在线的信息,但如果您的问题是AutoCompleteTextView上下文弹出窗口未显示任何预填充的自动填充文本,则对simple_dropdown_item_1line的更改应该可以解决问题

注意:我正在测试API8