无法使用列表中的按钮触发Listactivity中onListItemClick上的活动?

时间:2015-01-30 04:23:26

标签: android button listactivity oncreate

无法使用列表中的按钮触发ListActivity中onListItemClick()上的活动吗?

如果我触摸按钮,我无法进入推荐的活动。即使点击,它也会停留在该页面中。

     public class Intro4 extends ListActivity{
String classes[] = {"Entertainment","TextPlay","Current-Affairs"};
public static int correct,wrong,marks;
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
        String cheese= classes[position];
        try {
            Class ourClass = Class.forName("com.SVS."+cheese);
            Intent ini= new Intent(Intro4.this,ourClass);
            startActivity(ini);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
          }
    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Intro4.this,android.R.layout.select_dialog_item,classes));
}}

清单是:

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".Intro1"
        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=".Intro2"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.SVS.INTRO2" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Intro3"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.SVS.INTRO3" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Intro4"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.SVS.INTRO4" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
     <activity
        android:name=".Entertainment"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.SVS.ENTERTAINMENT" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
      <activity
        android:name=".TextPlay"
        android:label="@string/app_name" >
          <intent-filter>
            <action android:name="com.SVS.TEXTPLAY" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>  
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.SVS.MAINACTIVITY" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

2 个答案:

答案 0 :(得分:0)

下面:

  

String classes [] = {&#34; Entertainment&#34;,&#34; TextPlay&#34;,&#34; Current-Affairs&#34;};

Current-Affairs不是有效的java标识符。有关详细信息,请参阅Using Java Naming Conventions

并确保在Entertainment,TextPlay,...

中声明所有活动AndroidManifest.xml

答案 1 :(得分:0)

我在java课程中得到了答案.. Class.forname("com.svs.blabla")
不是("com.SVS.blabla")

即,包名称应为小写。