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 回答