2017-04-26 123 views
0

我是新的android/java的学生 我尽量让测试应用程序 但我面临的问题,并寻找,但没有解决 我犯了一个新的XML文件(新画面的应用程序),我想在新的Java类中使用xml元素。呼叫次数

搜索后尝试使用充气器但不工作 没有错误但没有返回所需的值。 请帮忙。

*主要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/ basics/firstapp/starting-activity.html)这个 –

+0

我觉得你忘了设置视图。你想从哪里得到这个'R.layout.activity_main'视图?在第一次活动?或在第二个?为什么我们需要一个单独的课程来查看相同的视图?可以在同一班级内完成(第一班本身。) – Archana

+0

是否要从一个活动切换到另一个活动? – AbhayBohra

回答

0

我想你忘记打电话给whick在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个班级我需要从新班级访问主layoutxml的视图 –

+0

新的活动开始没有问题,但我想从例如主要活动的编辑文本使用其值新活动 –