1

サービスから起動するアプリを開発しています。HOME ボタンを使用してからアクティビティが再作成されるまでに 5 秒の遅延があるため、アクティビティのないアプリを GUI として再作成し始めました。XML レイアウトからボタンを機能させるのに苦労しています。

その場で作成されたボタンを使用できますが、レイアウト XML で定義したすべてのボタンを使用する必要があります。

これが今の様子です:

// display the layout to screen

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(R.layout.xmllayout, null);     
wm.addView(myView, params); 


// tried to use getIdentifier - log shows the button id number

final int id = getResources().getIdentifier("btn1", "id", getPackageName());
final ImageButton btn1 = (ImageButton) findViewById(id);           

Log.i(TAG, "Found Button ID:" + getResources().getIdentifier("btn1", "id", getPackageName()));


// how i define the button in a activity
// ImageButton btn1 = (ImageButton) myView.findViewById(btn1);           

btn1.setOnClickListener(new ImageButton.OnClickListener()
{
              @Override
              public void onClick(View arg0)
              {
                  //Toast.makeText(getApplicationContext(), "Starting ", Toast.LENGTH_LONG).show();
              }
            });

myView.findViewById(btn1);エラーを返します:

The method findViewById(int) is undefined for the type

XMLレイアウトからボタンを使用する方法についてのヘルプを歓迎します:)

4

1 に答える 1

2

試してみましたか

myView.findViewById(R.id.buttonId)???

buttonId = xml ファイルで定義されたボタン ID

<ImageButton
  android:id="@+id/buttonId" />
于 2012-12-19T08:55:06.360 に答える