ZXing(埋め込まれていない)から良い結果が得られますが、レイアウトxmlで適切に定義され、メインクラスで宣言されているEditTextに結果を取得する方法がわかりません。これが私のコードです:
public class main extends Activity implements OnClickListener {
EditText edit_text = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edit_text = (EditText) findViewById(R.id.pn);
findViewById(R.id.my_button).setOnClickListener(this);
findViewById(R.id.scan_button).setOnClickListener(this);
} //end of onCreate
ZXingの起動は、ここで条件付きで行われます。
public void onClick(View arg0) {
Button b = (Button)findViewById(R.id.my_button);
Button s = (Button)findViewById(R.id.scan_button);
if(arg0==s){
s.setClickable(false);
IntentIntegrator.initiateScan(this);
}
if(arg0==b){
b.setClickable(false);
findViewById(R.id.pn);
CharSequence edit_text_value =edit_text.getText();
itemno = edit_text_value.toString();
InputMethodManager inputManager = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
new LongRunningGetIO().execute();
}
}//end of onClick method - note main class is still open
そして最後に、まだメインクラス内にある必須のzxing結果メソッド:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
edit_text = (EditText) findViewById(R.id.pn);
if (scanResult != null) {
String resultStr = "";
resultStr = scanResult.getContents();
edit_text.setText = resultStr;
}
}
}//closes main class
ここにレイアウトxml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dp"
>
<TextView
android:id="@+id/tag_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<EditText android:layout_margin="20dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Enter Item Number"
android:id="@+id/pn"
/>
<TableLayout
android:id="@+id/button_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*"
>
<TableRow>
<Button
android:id="@+id/scan_button"
android:text="SCAN"
/>
<Button android:layout_width="wrap_content"
android:id="@+id/my_button"
android:text="GET RESULTS"
/>
</TableRow>
</TableLayout>
<EditText android:layout_margin="20dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="30"
android:maxLines="30"
android:textSize="18sp"
android:editable="false"
android:id="@+id/my_edit" />
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
OK、私はすべてを試し、存在することを知らなかった場所を検索しました。誰かが私が間違ったことを私に見せてくれませんか?ずさんなコードでごめんなさい。最初のQはここに投稿されました。前もって感謝します!