кнопка из другого XML-файла, хотите установить текст ()

#android #xml #triggers

#Android #xml #триггеры

Вопрос:

У меня есть 2 XML-файла в моем приложении для Android. И хотите сделать это: examplebuttononthesecondXML.setText("12"); с помощью кнопки на втором XML.

Сначала, как должно работать мое приложение:

  • Существует текстовое поле, в которое вы можете вставить текст
  • Нажав кнопку Сохранить, откроется диалоговое окно с 10 кнопками.
  • Каждая кнопка имеет номер.
  • С помощью кнопок вы должны ввести свой пароль.
  • Затем вы можете нажать Ok. И все сохраняется.

Каждый раз, когда открывается диалоговое окно, номера кнопок должны отображаться в другом порядке!(для большей безопасности).

единственная проблема заключается в том, как получить доступ к моему второму XML-файлу.

 // b1 = button on the second XML;
// buttons = Name of the secnond XML;
// testb  = Name of the Button Variable which has access to b1;


setContentView(R.layout.buttons);


Button testb = (Button) this.findViewById(R.id.b1);

testb.setText("showme");
  

Вышеуказанное не работает, вместо этого происходит сбой моего приложения!!

причина в setcontentview!

может быть, у вас есть идея: D

Спасибо!

Ответ №1:

вы могли LayoutInflator бы получить доступ к этому xml файлу, просто следуя этому примеру кода

  LayoutInflater layoutInflater 
     = (LayoutInflater)getBaseContext()
      .getSystemService(LAYOUT_INFLATER_SERVICE);  
  

затем

 LinearLayout myOtherLayoutMainLinearLayout = (LinearLayout) layoutInflater.inflate(R.layout.tool_box, null);  
  

или просто используйте View для доступа к этому XML файлу

 View myOtherLayoutMainLinearLayout = (View)layoutInflater.inflate(R.layout.tool_box, null);  
  

и для доступа к кнопке просто

  Button myOtherXMLButton = (Button)myOtherLayoutMainLinearLayout.findViewById(R.id.tool_box);
myOtherXMLButton.setText("xxxx");
  

Ответ №2:

 View myOtherLayoutMainLinearLayout = (View)layoutInflater.inflate(R.layout.bbb, null);
       Button myOtherXMLButton = (Button)myOtherLayoutMainLinearLayout.findViewById(R.id.button1);
       myOtherXMLButton.setText("xxxx");
       setupButton();
  

хорошо, это больше не вызывает сбоев: D
но после того, как я открыл свой диалог, номер на моей кнопке1 остался прежним…