小编Gar*_*eld的帖子

碎片不兼容的类型

Activity继承ActoinBarActivity,它NavigationDrawer通过点击其元素打开片段来描述sidebar().在其中一个片段中listView,通过单击我想要打开另一个片段的项目(员工 - 员工列表 - 员工数据).但我是一个错误

不兼容的类型:必需:Android.app.Fragment找到:com.abc.app.EmployeeDetails

public class MyEmployeeFragment extends Fragment {
//some code
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
    userList = new ArrayList<User>();
    sAdapter = new CustomAdapter(getActivity(),userList);
    View rootView = inflater.inflate(R.layout.my_employe, container, false);
    ListView lv = (ListView)rootView.findViewById(R.id.list);
    lv.setAdapter(sAdapter);

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
            Fragment f = new EmployeeDetails(); // ERROR
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction ft = fragmentManager.beginTransaction(); …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments

8
推荐指数
1
解决办法
1万
查看次数

Android:如何从Kotlin调用ndk函数?

此代码适用于Java.但是在迁移到Kotlin之后,native fun stringFromNative(): String使用以下文本将编译器higlits方法 作为错误:

没有身体的功能必须是抽象的

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    Toast.makeText(this, stringFromNative(), Toast.LENGTH_LONG).show()
}

companion object {

    init {
        System.loadLibrary("_ndkkt")
    }
    native fun stringFromNative(): String
}
}
Run Code Online (Sandbox Code Playgroud)

谢谢@KenVanHoeylandt!

Andswer是:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    Toast.makeText(this, stringFromNative(), Toast.LENGTH_LONG).show()
}

   init {
        System.loadLibrary("_ndkkt")
    }

    external fun getStringFromNative(): String
}

}
Run Code Online (Sandbox Code Playgroud)

android android-ndk kotlin

8
推荐指数
2
解决办法
4221
查看次数

无法解析方法setListAdapter

我尝试在片段中显示listView.但方法setListAdapter - 未解析.我想,我必须得到listView(android.R.id.list)的id; 然后:lv.setAdapter(mAdapter);但它也不起作用.

public class MyEmployeeFragment extends Fragment {

    private CustomAdapter sAdapter;
    private List<User> userList;
    ProgressDialog mProgressDialog;



    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        setHasOptionsMenu(true);
        userList = new ArrayList<User>();
        sAdapter = new CustomAdapter(getActivity(),userList);
        setListAdapter(sAdapter);
        new CustomAsync().execute();

    }

    private class CustomAdapter extends ArrayAdapter<User> {
        private LayoutInflater inflater;

        public CustomAdapter(Context context, List<User> objects) {
            super(context, 0, objects);
            inflater = LayoutInflater.from(context);
        }

        class ViewHolder {
            TextView id;
            TextView name;
            TextView lastName;
        }


        @Override
        public View getView(int position, View convertView, ViewGroup parent) { …
Run Code Online (Sandbox Code Playgroud)

java android android-listview android-fragments

1
推荐指数
1
解决办法
2万
查看次数