2016-04-19 3 views
0

メインアクティビティと同じパッケージに、supというクラスのJavaファイルを作成しました。アプリケーションの動作と異なるクラスを使用するにはどうすればよいですか?

ここでは、メインアクティビティファイルでこのクラスを使用する必要があります。

mainActivity.java:

package com.example.phy.myapplication; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 


public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
    sup mola = new sup(this); 
    mola.as(); 

} 

sup.java:

package com.example.phy.myapplication; 

import android.content.Context; 
import android.widget.Toast; 

public class sup { 

    public sup(Context context){ 

     CharSequence text = "Hello toast!"; 
     int duration = Toast.LENGTH_SHORT; 

     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 

    } 
    void as(Context context){ 

     CharSequence text = "as method"; 
     int duration = Toast.LENGTH_SHORT; 

     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 
    } 

} 

私はmainActivityにクラスをインポートする必要がありますか?どうやって?

答えて

1

SUPクラスとMainActivityクラスは、あなたが何かをインポートする必要がいけないので、同じパッケージに位置している、しかし、あなたがいない定義されたスコープ内classsのSUPのメソッドを呼び出している...それがあれば良いでしょうMainActivityとsupクラスはSを持っている場合

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     sup mola = new sup(this); 
     mola.as(); 
    } 
} 
1

インポートが必要とされていません:あなたは次のようになるように作成する方法の内部でこの

sup mola = new sup(this); 
mola.as(); 

を移動します雨のパッケージ名

欠落しているパラメータはmola.as(); にありますそれはする必要があります:mola.as(this);

関連する問題