0

基本上我有一个显示用户默认状态的文本视图

        <TextView
            android:id="@+id/clickable_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:onClick="editStatus"
            android:paddingLeft="3dp"
            android:paddingRight="3dp"
            android:text="Online"/>

当我点击它时,键盘会打开并转换为 EditText。发生这种情况时,会出现一个新按钮,上面写着“保存状态”。我想要做的是当我点击“保存状态”按钮时,它将创建一个新的文本视图,其中将显示使用输入的文本。这是我的代码,但我在 and 下有红色波浪new TextView(this)线linearLayout

    private OnClickListener keyboard = new OnClickListener() {
    public void onClick(View v) {
        // Hide Keyboard
        InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        inputManager.hideSoftInputFromWindow(getCurrentFocus()
                .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        // Hide EditText
        EditText status = (EditText) findViewById(R.id.hidden_edit_view);
        status.setVisibility(View.GONE);
        // Get inputtes text
        String text = status.getText().toString();
        // Display text in TextView
        LinearLayout layout = (LinearLayout) findViewById(R.id.contactlist);
        TextView valueTV = new TextView(this);
        valueTV.setText(text);
        ((LinearLayout) linearLayout).addView(valueTV);
4

1 回答 1

2

您将希望通过执行以下操作来引用外部类:

TextView valueTV = new TextView(YourActivity.this);

因为当您仅this在内部类内部使用时,您正在引用内部类实例,它不是 a Context,而是一个OnClickListener.

于 2013-01-28T00:41:04.867 回答