更改我的列表视图的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的。

+0

设置onyl textView不能解决您的问题。您需要保留适配器中的数据列表,并且需要更新您的列表。在每次更新列表项目后,您需要调用适配器的notifyDataSetChange()方法。你对listView的工作方式有如此多的问题。我认为,这是Android最难的部分。首先,您需要了解ListView,ListView中的项目回收以及ListView中的ViewHolder(用于布局)以及管理listView的项目(用于数据)。 –

Activity扩展了ContextWrapper类,您应该使用this或getBaseContext(),因为没有像扩展ContextWrapper类的getContext()方法。

因此,在您的Actitiy中将此用作Context或getBaseContext(),我认为您的问题将得到解决。

+0

嗯..当我把代码中,我得到这个错误 java.lang.ClassCastException:android.app.ContextImpl不能转换为com.uniqueapps.driverslogger2.Main – Nicer

+0

据我所知,这个问题发生因为我使用主要活动来做到这一点。但由于我没有这个列表视图的任何类或活动,那么我应该怎么做呢? – Nicer

+0

请按照此链接[https://github.com/codepath/android_guides/wiki/Populating-a-ListView-with-a-CursorAdapter]希望它有助于更​​好的理解。 –