onActivityResult в zxing покажет результаты в другой активности - PullRequest
0 голосов
/ 10 марта 2012

Привет, ребята, я делаю приложение, используя интегратор zxing. У меня есть сканер, работающий с propelry, и я показываю результаты отлично, но хотел бы, чтобы результаты показали на отдельном занятии какие-нибудь идеи?

JavaActivity

public class QRGOLFActivity extends Activity {


TextView contents = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    contents = (TextView) findViewById(R.id.contents);

}

public void doScan(View v) {
    IntentIntegrator.initiateScan(this);
}

public void onActivityResult(int request, int result, Intent i) {
    IntentResult scan = IntentIntegrator.parseActivityResult(request,
            result, i);

    if (scan != null) {

        contents.setText(scan.getContents());
    }
}

@Override
public void onSaveInstanceState(Bundle state) {

    state.putString("contents", contents.getText().toString());
}

@Override
public void onRestoreInstanceState(Bundle state) {

    contents.setText(state.getString("contents"));
}

}

и XML-файл

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >


<Button
    android:layout_width="230dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:onClick="doScan"
    android:text="Scan!" />

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >


    <TextView
        android:id="@+id/contents"
        android:layout_width="fill_parent"
        android:layout_height="116dp"
        android:textSize="20dp" />

</ScrollView>

<Button
    android:id="@+id/score"
    android:layout_width="230dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="100dp"
    android:text="Scorecard" />

<Button
    android:id="@+id/about"
    android:layout_width="230dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="About Us" />

<Button
    android:id="@+id/contact"
    android:layout_width="230dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Contact Us" />

1 Ответ

2 голосов
/ 11 марта 2012

Вызовите startActivity() для «отдельного занятия класса», передав любые данные, которые вы хотите (например, результаты ZXing), через дополнительные функции на Intent, который вы предоставляете для startActivity(). Ваша «отдельная деятельность класса» может затем использовать getIntent() для извлечения Intent и различные get...Extra() методы для извлечения этих значений.

...