gpt4 book ai didi

java - 如何使用textview显示从 ListView 中选择的项目的值

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:54 24 4
gpt4 key购买 nike

使用 simplesursoradapter 我提出了一个 ListView 。我从 ListView 中选择一个项目并将其保存在变量“titlename”中并能够在 Toast 中显示。现在,我希望将“titlename”中的这个值传递给文本 View id 'textView3' 以便它可以在同一 Activity 中显示在屏幕顶部。当我尝试使用以下代码时,我在 textView.setText(v_titlename); 行收到 NULL 指针异常。

a)TextView ID“textView”和“textView2”位于 custom_row.xml

b)TextView ID“textView3”位于 Activity_Out.xml

public void onItemClick(AdapterView<?> parent, View view, int position, long thislist) {
TextView selectedTitle = (TextView)view.findViewById(R.id.textView);
TextView titlename= (TextView)view.findViewById(R.id.textView2);
TextView textView = (TextView) findViewById(R.id.textView3);
v_titlename=titlename.getText().toString();
textView.setText(v_titlename);
Toast.makeText(this, titlename.getText() , Toast.LENGTH_LONG).show();
inputID=selectedTitle.getText().toString(); // the _id of this title is stored in inputID
}

最佳答案

您需要将“textView”设置为类中的一个字段,并在 Activity 的 onCreate() 中调用 findViewById()。现在设置它的方式是 textView 不为 null 的唯一方法是它成为适配器 View 的一部分,并且您必须使用 view.findViewById() 调用它。鉴于您说过您希望将其置于 Activity 的首位,您只是将其放在了错误的位置。 textView 是 Activity 的一部分,而不是列表。

R.id.textView3 是生成的类中的唯一整数。因此,即使它不是该 View 的一部分,它也是“有效的”。很多人都被绊倒了。

    public class SomeActivity extends Activity {

private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Activity_Out);
textView = (TextView) findViewById(R.id.textView3);
// ...
}
// ...
}

关于java - 如何使用textview显示从 ListView 中选择的项目的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com