2017-04-26 2 views
0

나는 새로운 안드로이드/자바 학생 내가 테스트 앱 을 만들려고하지만 난이 문제를 직면하고 검색하지만 난에 대한 새로운 XML 파일 (새 화면을 만들어 가 해결되지이다 애플 리케이션) 그리고 새로운 자바 클래스에서 XML 요소를 사용하고 싶습니다.전화 조회

검색 후 Inflator를 사용했지만 작동하지 않음 원하는 값을 반환하지 않고 오류가 없습니다. 도와주세요.

* 홈페이지 Class.java

package online.pharmastars.dosecalculator; 

      import android.content.Intent; 
      import android.support.v7.app.AppCompatActivity; 
      import android.os.Bundle; 
      import android.view.View; 
      import android.widget.AdapterView; 
      import android.widget.ArrayAdapter; 
      import android.widget.Spinner; 
      import android.widget.Toast; 

      public class MainActivity extends AppCompatActivity { 

       @Override 
       protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        Spinner spinner = (Spinner) findViewById(R.id.drug_spinner); 
        // Create an ArrayAdapter using the string array and a default spinner layout 
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
          R.array.drugs_array, android.R.layout.simple_spinner_item); 
        // Specify the layout to use when the list of choices appears 
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
        // Apply the adapter to the spinner 
        spinner.setAdapter(adapter); 
       } 
       String selectedDrug = ""; 
       public void onItemSelected(AdapterView<?> parent, View view, 
              int pos, long id) { 
        // An item was selected. You can retrieve the selected item using 
        // parent.getItemAtPosition(pos) 
        selectedDrug = parent.getItemAtPosition(pos).toString(); 
       } 

       public void onNothingSelected(AdapterView<?> parent) { 
        // Another interface callback 
       } 

       public void calculateDose(View view){ 
        Intent doseCalculate = new Intent(this, DoseCalculation.class); 
        startActivity(doseCalculate); 
       } 
      } 

그리고 새로운 class.java은 다음과 같습니다

패키지 online.pharmastars.dosecalculator;

  import android.app.Activity; 
      import android.content.Context; 
      import android.os.Bundle; 
      import android.support.v7.app.AppCompatActivity; 
      import android.view.LayoutInflater; 
      import android.view.View; 
      import android.widget.EditText; 
      import android.widget.TextView; 

      import static online.pharmastars.dosecalculator.R.id.weight; 

      /** 
      * Created by ahmed on 4/24/2017. 
      */ 

      public class DoseCalculation extends AppCompatActivity { 
       @Override 
       protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.dose_calculation); 
        calculateDose(); 
       } 

       public void calculateDose(){ 
        LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
        View view = layoutInflater.inflate(R.layout.activity_main, null); 
        EditText pWeight = (EditText) view.findViewById(R.id.age_years); 
        String test = pWeight.getText().toString(); 
        TextView patientWeight = (TextView) findViewById(R.id.text_view_weight); 
        patientWeight.setText(test); 
       } 
      } 
+1

[Intents] (https://developer.android.com/training/)를 사용해야합니다. 기본/firstapp/starting-activity.html) –

+0

보기를 설정하는 것을 잊었을 것 같습니다. 어디에서이'R.layout.activity_main' 뷰를 원합니까? 첫 번째 활동에? 아니면 두 번째? 왜 같은 뷰를보기 위해 별도의 클래스가 필요합니까? 동일한 클래스 (첫 번째 클래스 자체)를 달성 할 수 있습니다. – Archana

+0

한 활동에서 다른 활동으로 전환 하시겠습니까? – AbhayBohra

답변

0

나는 당신이 당신의에서 onCreate 방법

  @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 
       Spinner spinner = (Spinner) findViewById(R.id.drug_spinner); 
       // Create an ArrayAdapter using the string array and a default spinner layout 
       ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
         R.array.drugs_array, android.R.layout.simple_spinner_item); 
       // Specify the layout to use when the list of choices appears 
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       // Apply the adapter to the spinner 
       spinner.setAdapter(adapter); 
       calculateDose(); 

      } 

에서 새로운 활동을 엽니 다 할말을 테잎에 메서드를 호출없이이이

public void calculateDose(View view){ 
        Intent doseCalculate = new Intent(this, DoseCalculation.class); 
        startActivity(doseCalculate); 
       } 

추천하고 calculateDose 방법에있는 당신의 방법을 수정하는 것을 잊었다 생각 인수 필요 View

+0

첫 번째 파일에 이미 이것을 추가했습니다. –

+0

선언에 2 클래스 레이아웃 파일이 2 개 있습니다. 새 클래스 –

+0

에서 main layoutxml보기에 액세스해야합니다. 새 활동은 아무런 문제가 없지만 주 활동에서 예를 들어 그 값을 사용하여 편집 텍스트를 가져 오려고합니다. 새로운 활동 –