我在android studio中创建一个Android应用程序,我需要将一个字符串数组从一个类传递到另一个类。 它似乎没有工作思想,我无法找到真正的错误。 我试着用构造函数来做。
我会省略不必要的代码。
class MyFragment extends Fragment{
//I create a string array to pass on the other class
public String likeTitles[] ={"mazda","whynot","OHYEAAAaa","ok","1983198312893"};
public MainFragment(String s1[]){
s1= likeTitles;
}
}
public class List extends ListActivity{
String myStringArr[]=new String[5];
MainFragment myFrag = new MainFragment(myStringArr);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getListView().getContext(), android.R.layout.simple_list_item_1, myStingArr);
getListView().setAdapter(adapter);
}
我尝试使用带有类的字符串数组,并且它适用于我的适配器,但这不起作用。
答案 0 :(得分:0)
您应该使用静态初始化程序将数据传递到Fragment
:
class MyFragment extends Fragment {
public static MyFragment newInstance(String[] array) {
MyFragment fragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putStringArray("yourArray", array);
fragment.setArguments(bundle);
return fragment;
}
}
以下是您应该如何通过Activity
public class List extends ListActivity {
... onCreate(...) {
String myStringArr[]=new String[5];
MyFragment myFrag = MyFragment.newInstance(myStringArr);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getListView().getContext(), android.R.layout.simple_list_item_1, myStingArr);
getListView().setAdapter(adapter);
}
}
答案 1 :(得分:0)
除了其他答案,如果你想将数据从Fragment的“likeTitles”变量传递给构造函数方法上的Activity的myStringArr变量,你必须这样做:
<ul>
<li ng-show="user.cats.length > 0" ng-repeat="user in users">{{ user.name }} - <span ng-repeat="userCat in user.cats" style="margin-right:10px;"><strong>[{{ userCat.id }}]</strong> {{ userCat.label }}</span></li>
</ul>
答案 2 :(得分:0)
使用静态String数组变量
创建一个类public class storeData{
public static String stringArray[];
}
然后从anther类访问它以设置或获取
String likeTitles[] ={"mazda","whynot","OHYEAAAaa","ok","1983198312893"};
storeData.stringArray = likeTitles; // to set array
likeTitles = storeData.stringArray // to get array