0

まず第一に、私はAndroid環境では(お気づきかもしれませんが)完全な初心者です。説明が必要な場合は、できるだけ短くするように努めますので、お問い合わせください。

アプリウィジェット自体は次のように単純です。1。ボタン付きの単純なアプリウィジェットを作成しようとしています。2.「HelloWorld」ボタンをクリックすると、トーストメッセージが表示されます。

すべてのGUIを作成することに成功しました。AndroidManifest.xmlで必要なすべての文字列を宣言し、ウィジェット自体をレイアウトしました。ウィジェット自体は完全に機能し、見栄えがよく、すべてのボタンはクリック可能で、onFocus状態とonPressed状態も宣言されています。

私が失敗したのは、このボタンを作成して、アクション、関数、クラスなどを呼び出すことができないことです。私はdev.Androidのウェブサイトでこのチュートリアルをたくさん読みました(それは難しいところで)、私がグーグルで検索した他のチュートリアルも読みました(一般的に彼らはdev.Androidのtutsをコピーペーストするだけです)、何も機能しません、何もありませんすべてがそれがどのように機能するかを説明しています。

ウィジェットを機能させるのに本当に役立つチュートリアルを見つけるのを手伝ってください。

あなたはとにかく支配します!ありがとうございました!

4

2 に答える 2

0

このチュートリアルは、トーストウィジェットを使用するのに役立ちます。

http://developer.android.com/guide/topics/ui/notifiers/toasts.html

レイアウトを作成するときに、myLayout.xmlという名前のレイアウトファイルにボタンを追加したとします。

<Button    
android:id="@+id/Button"
android:text="@string/Button_Name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="Method_Name"/>

次に、クラスには次のようなものがあります。

//necessary imports
public class myActivity extends Activity
{

    @Override
    public void onCreate(Bundle savedInstance)
    {
        super.onCreate(savedInstance);
        setContentView(R.layout.myLayout);
    }

    public void Method_Name(View view)
    {
        //Here you would put what you needed from the toast tutorial 
        //So I'll demonstrate how to make hello world pop up
        Context context=getApplicationContext();
        String message="Hello world!";

        Toast toast=new Toast(context, message, Toast.LENGTH_SHORT);
        toast.show();
    }

では、ここで何が起こっているのでしょうか。クラスmyActivityでは、レイアウトファイルを画面にロードするcontentViewを設定します。このレイアウトファイルにはボタンがあります(他にもボタンがありますが、自動生成され、インターネット上にはたくさんあり、レイアウトは別のトピックです)。onClickプロパティを使用するこのボタンは、内部で拡張されたクラスで呼び出されるメソッドを示しています。次に、ボタンをクリックすると、メソッドMETHOD_NAMEが呼び出されます。Toastウィジェットを作成し、コンテキスト、表示されるメッセージ、および画面に表示される期間を指定します。次に、toast.show()を使用して、トースト通知をユーザーに表示します。

さらに説明や支援が必要な場合は、これで状況がより明確になることを願っています。

于 2012-09-11T08:47:32.667 に答える
0

これらはウィジェットとは呼ばれません。「アプリウィジェット」または「ホーム画面ウィジェット」と呼ぶ必要があります。

このリンクはあなたに役立つと思います-http://www.vogella.com/articles/AndroidWidgets/article.html#simplewidget

更新:アプリウィジェットのボタンクリックでブラウザを開く

Intent openBrowser = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));                       

PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, openBrowser , 0);

remoteViews.setOnClickPendingIntent(R.id.mybutton, pendingIntent);

xmlのボタンIDmybuttonであり、remoteViewsはすでに初期化されていると思います。

于 2012-09-11T08:43:55.150 に答える