0

Androidプロジェクトを開発していますが、起動しようとすると「残念ながら、かなが停止しました」というエラーが表示されます。かなは私のプロジェクトの名前です。私はAndroid開発の初心者ですが、問題はMainActivityクラスの2番目のJavaクラスからオブジェクトをインスタンス化したことだと思いますが、それは問題ないと思いますか?

その場合、Activities(XMLファイルも必要)以外の他のJavaクラスをどのように使用できますか?つまり、私のJavaクラスはアクティビティではなく、メソッドを使用するためだけに、バックグラウンドで実行する必要があります。

誰かが私を助けてくれますか?そして、私の貧弱な英語を許してください、あなたがより多くの情報を必要とするならば、私はそれを説明しようとします。

私の活動:

package kana.menu;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;


public class KanaActivity extends Activity {
    /** Called when the activity is first created. */

    private TextView tv1;
    private EditText et1;
    private Mensaje m1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv1=(TextView)findViewById(R.id.textView1);
        et1=(EditText)findViewById(R.id.editText1);
    }

    public void mensaje(View view){
        m1=new Mensaje("Hola");
        tv1.setText(m1.getMensaje()+et1.getText().toString());
    }


}

インスタンス化するJavaクラス:

package kana.menu;

public class Mensaje {

private String msg="";

    public Mensaje(String mensaje){
        msg=mensaje;
    }

    public Mensaje(){}

    public void setMensaje(String mensaje){
        msg=mensaje;
    }
    public String getMensaje(){
        return this.msg;
    }
    public void borrarMensaje(){
        this.msg="";
    }

}
4

2 に答える 2

1

アクティビティからJavaクラスをインスタンス化することはまったく問題ありません。また、Javaクラスがアクティビティでない場合は、XMLファイルも必要ありません。あなたがしていることは完全に合法であり、それが正しく実装されていれば機能するはずです。いくつかのコードを共有できれば素晴らしいと思います。

于 2012-04-25T10:39:33.480 に答える
0

例外(Nullpointer?)が原因でアプリがクラッシュする可能性があります。Anuragが言ったように、「通常の」Javaクラスの使用は完全に合法であり、xmlやsthは必要ありません。あなたが私たちにいくつかのコードを投稿できれば、それははるかに簡単になります;)

于 2012-04-25T10:43:30.303 に答える