如何使用textview显示从列表视图中选择的项目的值

时间:2015-03-28 12:52:12

标签: java android

使用simplesursoradapter我已经提出了一个listview。 我从listview中选择一个项目,并将其保存在变量'titlename'中,并能够在Toast中显示。现在,我想将'titlename'中的这个值传递给文本 查看id'textView3',以便它可以显示在同一活动的屏幕顶部。当我尝试使用以下代码时,我在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
}

1 个答案:

答案 0 :(得分:0)

你需要制作&#34; textView&#34;你班上的一个字段,并在你的活动的onCreate()中调用findViewById()。现在你设置它的方式是textView不为null的唯一方法是将它作为你的适配器视图的一部分,你必须用view.findViewById()来调用它。鉴于你说你想让它成为你活动的首选,你就会把它放在错误的地方。 textView是活动的一部分,而不是列表。

R.id.textView3是生成的Class中的唯一整数。所以,它是有效的&#34;即使它不是该视图的一部分。很多人都在旅行。

    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);
            // ...
        }
    // ...
    }