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

标签 java android

使用 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/

相关文章:

Android emulator-5554 离线,2 个具有相同名称和 ID 的进程在不同的端口上运行?

java - 有没有办法获得数组中元素出现的最高次数?

java - pageContext.request.contextPath 不工作

java - TestNG 使用 DataProvider 一次执行一个测试迭代

android - 更新 Android 上设备所有者应用的政策

Android - PullToRefresh ListView 始终为空

java - Spring-mvc中的JDBC异常处理

java - 尝试初始化 ApnsServiceBuilder 时出现异常

android - 如何在新的 Google Drive Android API 下切换帐户

Android SYSTEM_ALERT_WINDOW 权限