SQLの窓 イラストAC フリー素材

2017年07月14日

DAZStudio のユーザレイアウトの保存場所

DAZStudio 4.8 から DAZStudio 4.9 に更新したら、レイアウトがぶっ壊れたので、既にDAZStudio 4.9 をインストール済みの PC からコピーして復帰しました。



既存のスーパーレイアウト(なんかツールバーになんでもある)でもいいのですが、慣れるまでは昔のレイアウト使おうと思ってます。



メニューからの保存と選択








タグ:DAZ3D DAZStudio
posted by at 2017-07-14 05:26 | DAZStudio | このブログの読者になる | 更新情報をチェックする

2017年07月02日

Android Studio : LiveDoor のお天気情報をリストビューに表示した後、第二画面で name を変更して第一画面で再表示する手順

Android Studio : LiveDoor のお天気情報をリストビューに表示する手順 から続いている処理です


Intent でデータを送れるように、クラスを変更

Serializable インタフェース を追加
import java.io.Serializable;

public class WebData implements Serializable {

	String link;
	String name;

	@Override
	public String toString() {
		return name;
	}
}


Activity を追加して画面作成
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main2Activity">
    <Button
        android:id="@+id/buttonReturn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="戻る" />

    <TextView
        android:id="@+id/textViewLink"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="TextView"
        android:textSize="20sp"/>

    <TextView
        android:id="@+id/textViewName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="6dp"
        android:text="TextView"
        android:textSize="30sp"/>

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:textSize="30sp"/>

    <Button
        android:id="@+id/buttonUpdate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="更新"
        android:textSize="20sp"/>

</LinearLayout>


ListView に イベント処理を追加

選択した位置を保存する為に private int position; を定義
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

				// 行データを取得
				ArrayAdapter<WebData> arrayAdapter = (ArrayAdapter<WebData>) parent.getAdapter();
				WebData webData = arrayAdapter.getItem(position);

				// 行データを次画面に渡す
				Intent intent = new Intent(MainActivity.this,Main2Activity.class);
				intent.putExtra("DATA",webData);
				MainActivity.this.startActivityForResult(intent, 101);

				// 選択した行を保存
				MainActivity.this.position = position;

			}
		});


第二画面から戻って来た時の処理を追加

第二画面で変更された行データを使用して ListView を再表示する
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if ( requestCode == 101  ) {

			if ( resultCode == MainActivity.RESULT_OK ) {
				// ボタンの種類
				String result = data.getStringExtra("RESULT");
				if ( result.equals("終わったよ") ) {

				}
				if ( result.equals("更新したよ") ) {

					// 更新後データの取得
					WebData webData_update = (WebData) data.getSerializableExtra("DATA");

					WebData webData_listview = arrayAdapter.getItem(MainActivity.this.position);
					// 更新されたデータのセット
					webData_listview.name = webData_update.name;
					// 再表示
					listView.setAdapter(arrayAdapter);

				}
			}

		}

	}


第二画面に変数定義

private TextView link;
private TextView name;
private EditText editText;

第二画面の初期画面表示

以降、onCreate にて
		// 画面コントロールのインスタンス取得
		link = (TextView) Main2Activity.this.findViewById(R.id.textViewLink);
		name = (TextView) Main2Activity.this.findViewById(R.id.textViewName);
		editText = (EditText) Main2Activity.this.findViewById(R.id.editText);

		// データの取得
		Intent intent = Main2Activity.this.getIntent();
		WebData webData = (WebData) intent.getSerializableExtra("DATA");

		// データのセット
		link.setText(webData.link);
		name.setText(webData.name);
		editText.setText(webData.name);

ただ戻るだけのボタンの処理
		Button buttonReturn = (Button) Main2Activity.this.findViewById(R.id.buttonReturn);
		buttonReturn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				Intent intent = new Intent();
				intent.putExtra("RESULT", "終わったよ");
				setResult(Main2Activity.RESULT_OK, intent);

				// 第二画面終了
				Main2Activity.this.finish();

			}
		});


画面上の更新処理
		Button buttonUpdate = (Button) Main2Activity.this.findViewById(R.id.buttonUpdate);
		buttonUpdate.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				Intent intent = new Intent();
				intent.putExtra("RESULT", "更新したよ");

				Intent intentStart = Main2Activity.this.getIntent();
				WebData webData = (WebData) intentStart.getSerializableExtra("DATA");
				// 入力内容をセットする
				webData.name = editText.getText().toString();

				intent.putExtra("DATA", webData);
				setResult(Main2Activity.RESULT_OK, intent);

				// 第二画面終了
				Main2Activity.this.finish();

			}
		});






posted by at 2017-07-02 00:47 | Android | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します