2013-07-05 17 views
1

类别A,B和C仅位于src和MainActivity.class位于source/com/example/TestApplicationEclipse Android(ADT)如何使用MainActivity类中的其他类的方法?

MainActivity似乎看不到其他类,因为它们不在相同的位置/包中。我怎样才能调用其他类的方法在MainActivity中工作。

这里是我的代码示例:我想运行MainActivity

 public class UseActivity extends Activity 
     { 
     @Override 
     protected void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main);  
     } 
      public String sEntries(View view) 
      { 
       DatabaseHandler db = new DatabaseHandler(this); 
       String sfinal = ""; 

       // Inserting Contacts 
       Log.d("Insert: ", "Inserting .."); 
       db.addContact(new Contact("Ravi", "9100000000"));  
       db.addContact(new Contact("Srinivas", "9199999999")); 
       db.addContact(new Contact("Tommy", "9522222222")); 
       db.addContact(new Contact("Karthik", "9533333333")); 
       switch (view.getId()) 
       { 
       case R.id.button1: 
        EditText dbText = (EditText) findViewById(R.id.editText1); 

        // Reading all contacts 
        Log.d("Reading: ", "Reading all contacts.."); 
        List<Contact> contacts = db.getAllContacts(); 
        for (Contact cn : contacts) 
        { 
         sfinal = "Id: "+cn.getID()+" ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber(); 
          // Writing Contacts to sfinal 
         Log.d("Name: ", sfinal); 
         dbText.setText(sfinal); 
        } 
        break; 
       } 
       return sfinal; 
      }  
    } 



public class MainActivity extends Activity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) 
    { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    UseActivity u = new UseActivity(); 
    { 
     u.sEntries(View view); 
    } /////////////////////////// this doesnt work, program underlines UseActivity in red giving error and doesnt see it as another class (maybe because of package) 
+1

你试过导入包吗? –

+0

我已经把所有的类都移动到了包含MainActivity的包中,并且在每个类中都导入了这个包,这似乎可行,但我仍然遇到一些问题,但我认为我解决的最大问题已经解决了 – user2164182

+0

您可以通过这种方式学习Java。 – m0skit0

回答

1

您需要导入类A,B和C.在Eclipse中自动导入快捷方式是,通过UseActivity方法默认情况下至少:

我已经按下这些键这么多次的字母磨损CNTRL + SHIFT + O。在YOUT MainActiviy

2

首先,进口UseActivity类

import your.package.UseActivity; 

其次,在OnCreate中,实例化UseActivity类。

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    UseActivity u = new UseActivity(); 
    etc... 
} 
0

您必须添加作为在AndroidManifest.xml第二个活动,然后做毛泽东解释||使用类似下面的东西

public void YourAction() { 
startActivity(new Intent("youpackage.SecondActivity")); 
} 

<activity 
android:label="Second Activity" 
android:name=".SecondActivity" > 
<intent-filter > 
<action android:name="yourpackage.SecondActivity" /> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
</activity> 
相关问题