Проблемы с Android Передайте переменную / намерение деятельности - PullRequest
0 голосов
/ 04 июня 2011

Хорошо, поэтому я искал этот сайт и нашел много учебных пособий о том, как передавать переменные в другое действие с помощью Intent, но по какой-то причине у меня все еще возникают проблемы с передачей любой вещи, кроме нулевого значения. Logcat говорит мне это:

E/AndroidRuntime(  747): java.lang.RuntimeException: Unable to start activity ComponentInfo{eu.sourceway.tutorials.BetterTabs/eu.sourceway.tutorials.BetterTabs.addonsBrowser}: java.lang.NullPointerException

Вот моя стартовая активность:

        lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
          String content = links[position];
            Intent addonPage = new Intent(ThirdTab.this,addonsBrowser.class);
            Bundle b = new Bundle();
            b.putString("passed", "http://google.com");
            addonPage.putExtras(b);
            startActivity(addonPage);

      }

    }); 

Вот мое второе занятие:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Bundle extras = getIntent().getExtras();

String URL = extras.getString("passed");

browser=new WebView(this);
browser.setWebViewClient(new WebViewClient());
browser.setInitialScale(55);

setContentView(browser);
browser.loadUrl(URL);



}

Я установил точку останова в Eclipse и просмотрел переданную переменную Bundle «extras» во втором действии, и она показала как ноль, так что и результаты logcat приводят к выводу, что она не передается. Также, если вы посмотрите в первом Activity, у меня фактически есть URL, первоначально извлеченный из ArrayList, а затем сохраненный в переменной String, называемой content, но он также не пройдет. Вот почему я подписал адрес «http://google.com"». Я пробовал это с другими URL-адресами и до сих пор не могу передать его. Я знаю, что веб работает, так как я мог загружать страницы в веб-просмотр. Основная цель этого состоит в том, чтобы иметь список, содержащий ссылки с веб-сайта, и с помощью onItemClick передать URL-адрес другому действию, которое имеет WebView для его загрузки. Генерация URL-адресов в ArraysList работает. Я был в состоянии заполнить список. Проблема в том, что он принудительно закрывается, как только я нажимаю на ссылку, потому что отправленная переменная равна нулю. Любые идеи очень ценятся.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

"отметьте это, просто вставьте этот код в свой первый щелчок на действии. Примечание: -> непосредственно захватывайте текст редактирования, не сохраняйте текст редактирования в строке и затем передавайте его, если вы все же отобразите, строка не пройдет. ниже пример "

 public void onClick(View v) {

// TODO Auto-generated method stub
Intent i = new Intent(this,Web.class);
i.putExtra("epuzzle",urlenter.getText().toString());

final int result = 1;
startActivityForResult(i, result);
}

"теперь во втором упражнении поместите это, Примечание: ->, если вы попытаетесь сохранить строку активности, переданную сначала, в другую строку в активности, затем она не будет работать, вы должны напрямую передать строку в loadurl вместо сохранение и передача в loadurl. "

 Intent intent = getIntent();
 w.loadUrl(intent.getExtras().getString("epuzzle"));
 w.getSettings().setJavaScriptEnabled(true);

Пожалуйста, дайте мне знать, сработало ли это для вас или нет.

1 голос
/ 04 июня 2011

Попробуйте это в моей начальной деятельности:

Intent addonPage = new Intent(ThirdTab.this,addonsBrowser.class);

addonPage.putExtra("passed", "http://google.com");

startActivityForResult(addonPage, 0);

Попробуйте это в моей вторичной деятельности:

private String message;

message = getIntent().getExtras().getString(passed);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...