我如何在AppCompatActivity中实现ListView?

我如何在AppCompatActivity中实现ListView?,第1张

概述publicclassMainActivityextendsAppCompatActivity{protectedList<ParseObject>mStatus;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

public class MainActivity extends AppCompatActivity {   protected List<ParSEObject> mStatus;   @OverrIDe   protected voID onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentVIEw(R.layout.activity_main);   Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.toolbar);   setSupportActionbar(toolbar);   ParseUser currentUser = ParseUser.getCurrentUser();   if (currentUser != null){       //show user the homepage       Parsequery<ParSEObject> query = new Parsequery<ParSEObject>("Status");       query.findInBackground(new FindCallback<ParSEObject>() {       @OverrIDe       public voID done(List<ParSEObject> status, ParseException e) {       if (e==null){           //success           mStatus = status;            StatusAdapter adapter = new StatusAdapter(getListVIEw().getContext(), mStatus);            setlistadapter(adapter);        } else {        //ther was a problem.        }      }    });    } else {        //show login screen        Intent takeUserTologin = new Intent(this, LoginActivity.class);        startActivity(takeUserTologin);    }}

在上面的代码中,我在getListVIEw()和setlistadapter上遇到错误.

我在StatusAdapter类中具有以下代码:

public class StatusAdapter extends ArrayAdapter<ParSEObject> {    protected Context mContext;    protected List<ParSEObject> mStatus;    public StatusAdapter(Context context, List<ParSEObject> status){        super(context, R.layout.homepagecustomlayout, status);        mContext = context;        mStatus = status;    }    @OverrIDe    public VIEw getVIEw(final int position, VIEw convertVIEw, VIEwGroup parent){        VIEwHolder holder;        if(convertVIEw == null){            convertVIEw = LayoutInflater.from(mContext).inflate(                    R.layout.homepagecustomlayout,null);            holder = new VIEwHolder();            holder.usernameHomepage = (TextVIEw)convertVIEw.findVIEwByID(R.ID.usernameHP);            holder.statusHomepage = (TextVIEw)convertVIEw.findVIEwByID(R.ID.statusHP);            convertVIEw.setTag(holder);        } else {            holder = (VIEwHolder) convertVIEw.getTag();        }        ParSEObject statusObject = mStatus.get(position);        //user        String username = statusObject.getString("user");        holder.usernameHomepage.setText(username);        //status        String status = statusObject.getString("newStatus");        holder.statusHomepage.setText(status);        return convertVIEw;    }    public static class VIEwHolder{        TextVIEw usernameHomepage;        TextVIEw statusHomepage;    }}

我正在追踪this tutorial.

解决方法:

getListVIEw()和setlistadapter()是ListActivity / ListFragment的方法.

但是,似乎您正在扩展AppCompatActivity.因此,您可以将ListVIEw添加到您的activity_main;中.接着:

ListVIEw ListvIEw = findVIEwByID(R.ID.yourListID); 

以此方式设置适配器-ListVIEw.setAdapter();

希望这可以帮助!

总结

以上是内存溢出为你收集整理的我如何在AppCompatActivity中实现ListView?全部内容,希望文章能够帮你解决我如何在AppCompatActivity中实现ListView?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1120532.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存