Android намерение смс помощь - PullRequest
0 голосов
/ 19 апреля 2011

Привет! Я делаю последние штрихи к своему первому приложению. Это препятствие. Я пытаюсь назвать результаты моих

textview1.getText(k);

ниже до public boolean onOptionsItemSelected(MenuItem item,View v), где намерение позволяет пользователю отправить его.как текстовое сообщение, но по какой-то странной причине его не читают (k), я думаю, он не может найти переменную (k) по какой-то странной причине.полный код ниже, любая помощь приветствуется.

PS Извините, мой код небрежен, но еще немного новичок в программировании.

package com.Converter;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
 import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;

public class Converter extends Activity {

    Button b1 ;
    EditText edittext;
    RadioButton rad1, rad2;
    TextView textview1 ;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edittext = (EditText) findViewById(R.id.edittext);
        rad1 = (RadioButton) findViewById(R.id.rad1);
        rad2 = (RadioButton) findViewById(R.id.rad2); 
       textview1 = (TextView) findViewById(R.id.textview1);
           }
    public void onClick(View v) 
    {
        if(rad1.isChecked())
           {
               String s1 = edittext.getText().toString();
               byte[] bytes = s1.getBytes();
               StringBuilder k= new StringBuilder();
               for (byte b : bytes)
                  {
                     int val = b - '0';
                     for (int i = 0; i < 8; i++)
                     {
                        k.append((val & 128) == 0 ? 0 : 1);
                        val <<= 1;
                     }
                    k.append(' ');
                  }

                textview1.setText(k);
           }

        if(rad2.isChecked())
        {
            int charCode;
            String k = "";
            String b = edittext.getText().toString();;
            while (b.length() > 8) {
                charCode = Integer.parseInt(b.substring(0, 8),2);
                k += new Character((char)charCode).toString();
                b = b.substring(8);
            }
            if (b.length() > 0) {
                //attempt handle any trailing bits that might be left
                charCode = Integer.parseInt(b,2);
                k += new Character((char)charCode).toString();
            }

            textview1.setText(k);
        }
        }
     @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }
     public boolean onOptionsItemSelected(MenuItem item,View v) {
         String smsbody = textview1.getText(k);
        switch (item.getItemId()) {
            case R.id.icon:  Intent sendIntent = new Intent(Intent.ACTION_VIEW);
            sendIntent.putExtra("sms_body", smsbody); 
            sendIntent.setType("vnd.android-dir/mms-sms");
            startActivity(sendIntent);
                                break;
            case R.id.text:     Toast.makeText(this, "Testing!", Toast.LENGTH_LONG).show();
                                break;
            case R.id.icontext: Toast.makeText(this, "Testing", Toast.LENGTH_LONG).show();
                                break;
        }
        return true;
    }



    }

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

Если вы ссылаетесь на

String smsbody = textview1.setText(k);

его нужно изменить на

String smsbody = textview1.getText(k);

когда вы читаете текст, а не устанавливаете его.

Редактировать

Button btn = (Button)findViewById(R.id.button);
           btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // Do your logic here

            }
        });

Вот базовая модель интерфейса onClick

0 голосов
/ 19 апреля 2011

Вы имеете в виду String smsbody = textview1.getText(); Обратите внимание на * г * и т. Д., А не * с * и т. Д.

...