0

Androidプロジェクト用に2つのクラスがあります。最初のクラスはActivityであり、2番目のクラスはインターフェイスを実装する単なるOnClickListenerです。

携帯電話でプロジェクトを実行すると、常にランタイムエラーが発生します。また、私はメッセージを受け取りました:

指定されたアクティビティは存在しません!ランチャーアクティビティを取得します。

これが私の2つのクラスです

SendActivity

package kops.sms;

//import android.R;
import android.app.Activity;

import android.os.Bundle;
import android.view.Menu;
import android.widget.Button;

public class SendActivity extends Activity {


Button buttonSend= (Button) findViewById(R.id.buttonSend);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_send);

    buttonSend.setOnClickListener(new ButtonListener());
}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.send, menu);
    return true;
}




}

とButtonListener

package kops.sms;

import android.view.View;
import android.view.View.OnClickListener;

public class ButtonListener implements OnClickListener {

     @Override
        public void onClick(View v)
        {

        }


}

何が悪いのかわかりません...

お返事をお待ちしております!:)

4

2 に答える 2

1

を呼び出すfindViewById()までは呼び出すことはできませんsetContentView()。移動してください:

Button buttonSend= (Button) findViewById(R.id.buttonSend);

後に:

setContentView(R.layout.activity_send);

そして前:

buttonSend.setOnClickListener(new ButtonListener());

また、将来的には、LogCat (Eclipse の DDMS パースペクティブなど) を使用して、クラッシュに関連する Java スタック トレースを調べてください。あなたはあなたのことについて知らされていたでしょうNullPointerException、そしてそれはあなたの問題を解決するのに役立ったかもしれません.

于 2013-02-23T18:23:44.037 に答える
0

Activityマニフェストで your が宣言されていることを確認してください。また、あなたのonCreate()

public class SendActivity extends Activity {


Button buttonSend;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_send);
    buttonSend = (Button) findViewById(R.id.buttonSend);
    buttonSend.setOnClickListener(new ButtonListener());
}  

を呼び出す前にaViewなどを呼び出すことはできません。それはあなたの中に存在し、あなたが呼び出すまであなたを膨らませていないからです。これらで問題が解決しない場合は、投稿してくださいButtonsetContentView()LayoutLayoutsetContentViewe()Logcat

編集

Activity私が見逃していない限り、すべての をマニフェストに含める必要があります。何かのようなもの:

<activity
        android:name="your.package.name.SendActivity"
       // activity attributes such as config changes, lable, etc...
</activity>

ログキャット

Logcat の出力は、クラッシュを判断するための最も重要な要素の 1 つです。エラーの内容と、問題が発生したアクティビティを含む行番号が一覧表示されます。Eclipse を使用している場合は、

ウィンドウ --> ビューの表示 --> その他 --> Android --> Logcat

コーディング ブラケットを使用して Logcat をコピー アンド ペーストすると、ヘルプがはるかに簡単になります。ログのフィルターを設定して、すべてのメッセージを取得しないようにすることもでき、より管理しやすくなります。たとえば、フィルター名: ランタイム、ログ タグ別: AndroidRuntime、ログ レベル別: エラーというフィルターがあります。これにより、実行時エラー/クラッシュのエラー メッセージのみが表示されます。これらのフィルターは、logcat ビューの左側にあります。お役に立てれば

于 2013-02-23T18:25:09.683 に答える