0

そのため、メニュー インフレータがあり、その中の何かを選択すると、プログラム フォースが閉じます。これは、追加する必要があるボタンの配列に対してクラスが onclicklistener も実装しているためだと思います。関連するコードの一部を次に示します。

    package com.riley.howmany;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ScrollView;
import android.widget.LinearLayout;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;

public class howMany extends Activity implements View.OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//I have to use a dynamic layout because it changes based on user options.
//As of right now it is just in a for loop because the settings menu won't open
//because of this issue. I hope this makes sense.
        ScrollView sv = new ScrollView(this);
        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);
        sv.addView(ll);
        ll.setPadding(1,1,1,1);

        TextView tv = new TextView(this);
        tv.setText("Dynamic layouts ftw!");
        ll.addView(tv);
//Each button press actually performs the same code for that individual button
        for (int c=0; c<=10; c++) {
            Button b = new Button (this);
            b.setText("Button:"+" "+"0");
            b.setTextSize(10.0f);
            b.setOnClickListener(this);
            ll.addView(b);
        }

        this.setContentView(sv);
    }

    public void onClick(View view) {
        //handle each button click
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menus, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Intent intent = new Intent(this, Setting.class);
        startActivity(intent);

        return true;

    }
}

あなたが提供できるアドバイスをどうもありがとうございました!

編集/更新!

わかりました私は修正を見つけました。ここにあります:

@Override
public boolean onCreateOptionsMenu (Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menus, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected (MenuItem item) {
            startActivity(new Intent(this, Setting.class));
            return true;
    }

今ではうまくいきます!お手伝いありがとう。

4

1 に答える 1

1

onClick リスナーが問題になることはありません。強制終了は、startActivity() 呼び出しから発生する可能性があります。マニフェストで設定アクティビティを宣言しましたか?

マニフェスト全体を投稿できますか?

于 2011-05-26T17:19:00.027 に答える