更改我的列表视图的textview
我一直在努力寻找解决方案来解决我的问题,但现在我决定试着问你。我是编程Android的小菜鸟,所以请原谅我。更改我的列表视图的textview
我有一个主Activity
其中Listview
在其中。
我使用Simplecursoradapter
来提供来自我的数据库的信息和我作为XML制作的自定义布局。
我的问题是,我想更改一些术语或单位,我在这个自定义布局,这是不通过数据库饲料。
但是,如果我使用settext到TextViews
那里它不会运行,应用程序将崩溃,因为我的setContentView
设置为该类的另一个布局,我猜。我一直在寻找inflaters
,试图看看我是否可以更改XML可编程,使用String.xml
中的字符串并改变它。但据我所知,这些不是一种选择。后来我在StackOverflow上发现这个代码
Activity activity = (Activity)getContext();
TextView t = (TextView)activity.findViewById(R.id.txtDisponible);
t.setText("E-ticket validado");
但是我不能得到这个工作,因为第一行不适用于我。 Activity
不会给我getcontext
方法。即使我确实得到了这个工作,我也不知道这是否可行。你能指导我走向哪个方向吗?截至目前,我没有我的课程ListView
,这是该走的路。我想尽可能保持简单。
谢谢你的帮助。
编辑1:
好吧,我试图把这个在我的代码:
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.item_list, null);
TextView t = (TextView) view.findViewById(R.id.kmListview);
t.setText("bok");
的应用程序不会崩溃,但它并不会改变TextView的。
Activity扩展了ContextWrapper类,您应该使用this或getBaseContext(),因为没有像扩展ContextWrapper类的getContext()方法。
因此,在您的Actitiy中将此用作Context或getBaseContext(),我认为您的问题将得到解决。
嗯..当我把代码中,我得到这个错误 java.lang.ClassCastException:android.app.ContextImpl不能转换为com.uniqueapps.driverslogger2.Main – Nicer
据我所知,这个问题发生因为我使用主要活动来做到这一点。但由于我没有这个列表视图的任何类或活动,那么我应该怎么做呢? – Nicer
请按照此链接[https://github.com/codepath/android_guides/wiki/Populating-a-ListView-with-a-CursorAdapter]希望它有助于更好的理解。 –
设置onyl textView不能解决您的问题。您需要保留适配器中的数据列表,并且需要更新您的列表。在每次更新列表项目后,您需要调用适配器的notifyDataSetChange()方法。你对listView的工作方式有如此多的问题。我认为,这是Android最难的部分。首先,您需要了解ListView,ListView中的项目回收以及ListView中的ViewHolder(用于布局)以及管理listView的项目(用于数据)。 –