更改我的列表视图的{text}

时间:2017-08-06 18:19:21

标签: java android listview settext

我一直在努力寻找解决问题的方法,但现在我决定试着问你。我是编程Android的菜鸟,所以请原谅我。

我有一个主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");

该应用不会崩溃,但它也不会改变文本视图。

1 个答案:

答案 0 :(得分:0)

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

所以在你的Actitiy中使用它作为Context或getBaseContext(),我认为你的问题将得到解决。