0

ボタンを機能させるために、過去 2 日間、頭を悩ませてきました。基本的に、ボタンで「パスワード機能の追加」を呼び出す必要があります。

私のコード全体を表示したい場合は、github.com/servingbaby/UPM-Epassaf にアクセスしてください。

これが私のmain.xmlです(ボタンは正常に表示されますが、押しても何も起こりません)main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">

    <TextView
        android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:gravity="center"
        android:text="@string/no_accounts" />

        <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_gravity="center"
        android:text="@string/add_account" android:id="@+id/add" android:minWidth="125dip"></Button>

        <ListView android:id="@android:id/list"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"/>

</LinearLayout>

これが私の AndroidManifest で、私が間違っていると思われる部分までスリム化されています。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.epassafe.upm"
          android:versionCode="3"
          android:versionName="1.2">

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="16"/>
    <application android:icon="@drawable/upm" 
       ....>
        <activity android:name=".AppEntryActivity">
        </activity>

        <activity android:name=".FullAccountList">
            <meta-data android:name="android.app.default_searchable"
                       android:value=".SearchResults" />
        </activity>

        <activity android:name=".AddEditAccount">
        </activity>
    </application>
</manifest>

これが私の MainActivity.Java です。正しいコードを呼び出す必要があると思います。

public abstract class MainActivity extends Activity implements OnClickListener{`

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final Button countButton = (Button) findViewById(R.id.add);

        countButton.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Intent intent = new Intent(MainActivity.this,AddEditAccount.class);
                MainActivity.this.startActivity(intent);
            }
        });

    }
}

しかし、ボタンを押しても、期待どおりには何も起こりません。エラーや強制終了はないので、現時点では本当に途方に暮れています。ありがとうございました!

**編集私を助けてくれてありがとう。提案された解決策の多くを試しましたが、まだ解決していません。コメントしたように、編集を試みたもののいくつかを使用して、ファイルを github にアップロードしました。基本的に、ボタンを追加して、アカウントを追加するために必要なコードを実行する方法を見つけようとしています。(元のコードはうまく機能しますが、改善したいと思います。申し訳ありませんが、私の能力レベルはまだ低いですが、最善を尽くして学習しようとしています :) 誰かがこれを手伝ってくれたら本当にありがたいです! ありがとうございます^^

**編集 2 再度アドバイスと提案をありがとうございました。簡単な解決策を見つけました。ボタンクリックイベントを作成するためにメニューラッパーを使用することになりました。また、ほとんど同じことをしているように見える別のコードに正しいコードを追加しようとしていたときに、間違った Java ドキュメントを編集していたことが判明しました。もの。毎日何か新しいことを学びましょう。

4

4 に答える 4

0

あなたのリストビューを見てください

<ListView android:id="@android:id/list"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"/>

塗りつぶしの親として幅と高さを指定したため、ListView がボタン上にあるため、ボタンをクリックしたときに実際にはボタンをクリックしていません。ボタンをクリックすると、ボタンの色が1秒間変化しますが、これはあなたのケースでは起こっていません。リストビューを削除するか、ボタンの下の高さを設定してから、ボタンのクリックが機能することを確認してください

于 2013-05-27T12:18:01.657 に答える
0

まず第一に、ボタンにリスナーを設定するために OnClickListener を実装する必要はありません。しかし、別の理由で持っている可能性があります。そうでない場合は、削除してください。

xml の id の名前を間違って宣言しています。これを見てください: Android の "@id/" と "@+id/" の違い @+ ではなく @android:id が原因である可能性がありますID。

于 2013-05-27T11:32:29.403 に答える
0

アクティビティに OnClickListener を実装している理由がわかりません。アクティビティから を削除implements OnClickListenerします。それはうまくいくはずです。

しかし、あなたがこれを行っているのは理由がわからないため、このようにボタンをクリックできるようにする必要があります。

countButton.setOnClickListener(this);

public void onClick(View view)
{
Intent intent = new Intent(MainActivity.this,AddEditAccount.class);
                MainActivity.this.startActivity(intent);
}
于 2013-05-27T14:06:11.077 に答える