0

アプリはクラッシュしませんが、空白のページが表示されます....ここのコードは、もっと必要な場合は教えてくれます、これが間違っている場合は申し訳ありませんまたは何か?:

package com.eric.thebasics;




import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class TutorialTwo extends ListActivity {

String classNames[] = {"main", "menu", "Sweet", "TutorialOne"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(this,    android.R.layout.simple_list_item_1));
}

protected void onListItemClick(ListView lv, View v, int position, long id){
    super.onListItemClick(lv, v, position, id);
    String openClass = classNames[position];
    try{
        Class selected = Class.forName("com.eric.thebasics." + openClass);
        Intent selectedIntent = new Intent(this,selected);
        startActivity(selectedIntent);
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }
}

}

ボタンコードは次のとおりです。

tut2.setOnClickListener(new View.OnClickListener() {


        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            buttonSound.start();
            startActivity(new Intent("com.eric.thebasics.TUTORIALTWO"));

そしてここにマニフェストがあります:

<activity
        android:name=".TutorialTwo"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.eric.thebasics.TUTORIALTWO" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
4

3 に答える 3

2

これを試して

 setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, classNames));

classNamesをArrayAdapterに追加したことはありません

于 2013-03-04T02:29:07.380 に答える
1

文字列の代わりに、タイプセーフな.class参照を使用するだけです。試す

startActivity(new Intent(ActivityLaunchingFrom.this, TutorialTwo.class))

ActivityLaunchingFromを、他のアクティビティを開始するアクティビティの実際の名前に置き換えます。thisそれ以外の場合はを参照するため、「修飾されたthis」構文を使用する必要がありますonClickListener

そして、本当に配列内のクラスが必要な場合は、次のようなクラスの配列にします。

    Class[] classes = {Main.class, Menu.class, TutorialTwo.class};
于 2013-03-04T02:30:20.653 に答える
0

インテントのTutorialTwoはすべて大文字で、名前は大文字ではないかもしれません

 tut2.setOnClickListener(new View.OnClickListener() {


    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        buttonSound.start();
        startActivity(new Intent("com.eric.thebasics.TutorialTwo"));
于 2013-03-04T02:27:28.880 に答える