0

たとえば、mainActivity.javaファイルは実際にクラスター化されており、クリーンに保つために、ボタンを押すとコードを実行する2番目の.java(class)を作成しました。どうしたらいいのか全くわからない。また、どの検索用語を使用するかわからないので、これがカバーされている場合はお詫び申し上げます。

これが私の「テスト」アプリケーションにあるものです。

ボタンが1つあるメインアクティビティがあります。

package com.test.secondclass;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

    Button startButton;
    final Intent second = new Intent(getApplicationContext(), testClass.class);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        startButton = (Button)findViewById(R.id.button1);

        startButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(second);

            }
        });
    }

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

}

これが私が作成した「2番目の」クラスです。これは非常に短いことを思い出してください。実際のプログラムに実装する前に、これをエクササイズプログラムに使用しています。

package com.test.secondclass;

import android.app.Activity;
import android.widget.Toast;

public class testClass extends Activity{

    public void onCreate(){
        Toast.makeText(getApplicationContext(), "Second class thinger started", Toast.LENGTH_LONG).show();
    }
}

そして、これを試してみると、すぐに力が閉じます。メインアクティビティの最初に「意図」の部分をコメントアウトすると、プログラムが実行されます。しかし、それは私が望むことをしません。明らかに。みんな、ありがとう

4

3 に答える 3

0

答えてくれてありがとう!トーストメッセージを表示した後、「stopSelf()」コマンドを使用して、実際にやりたいことができました。サービス クラスを実装し、ボタンを押すと、testClass.java クラスが呼び出されて「トースト」メッセージを実行し、「stopSelf()」コマンドですぐに終了します。サービスが停止していることを確認する簡単なトーストメッセージも表示する「onDestroy()」メソッドを含めることで、これを確認しました:)。私は通常、スレッドを使用してこのようなことを行いますが、どれだけフォーマットを行っても、メインのアクティビティが非常に面倒でした。だから私は私が使用できる別のクラスが欲しかった。

そして、コメンターの EfEs に、私は Windows 用の C# 言語でのプログラミングから来ました。Android は私にとって新しい遊び場であり、まだ学習中です。私はかなりうまくやっていると思いますが、私が尋ねたことをどのように行うべきかわかりませんでした. しかし、私はそれを理解しました。そして、Android のアクティビティは C# の「WindowsForm」のようなものであり、ユーザーにとってまったく新しい GUI であることを明確にしていただきありがとうございます。私はそれを知りませんでした。しかし、あなたの投稿で私を助けてくれてありがとう!

于 2012-11-19T03:47:56.070 に答える
0

以下に示すように、OnClickListener を追加して、あらゆる情報をtestClassに送信します (未テスト)。

button.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent secondIntent = new Intent();
        secondIntent.setClassName(myPackageName, "testClass");
        startActivityForResult(secondIntent, REQUEST_CODE);
});

ここここを参照してください。

于 2012-11-18T23:58:46.600 に答える